Amazon SDE-1 面试经历(2025年3月-4月)

Viewed 130

我最近完成了在亚马逊的 SDE-1 面试流程。整体来说,过程紧张但收获颇丰。以下是各轮的详细内容:

📅 第一轮 – 技术面试

这轮面试原本被重排了两次。

1. 面向对象设计题

题目背景:
有学生数据,包含字段:rollNo(字母数字且唯一)、marksnamerank(可重复)等等。

任务:

  • 编写类和函数来:
    1. 根据给定的 rank 查询所有该 rank 的学生。
    2. 根据 roll number 查询特定学生。

我的思路:

  • 使用了两个 HashMap:
    • 一个用来将 rollNo 映射到 Student
    • 一个用来将 rank 映射到一个学生列表。
  • 面试官对这个方案比较满意。

后续追问:

  • 问了 HashMap 在内部是如何工作的。
  • 我解释了它底层的数据结构:bucket 数组、哈希计算、碰撞处理(如链表法或者开放寻址法)、扩容机制等。
  • 面试官基于这些点又问了一些更深入的问题。

2. 二叉树 – 统计同时拥有左右子节点的节点数量

题目:
统计一棵二叉树里,有左孩子和右孩子的节点数。

我的思路:

  • 使用后序遍历(递归)实现。

后续追问:

  • 面试官让我再用迭代方式实现,但我没有来得及写出迭代版本。

📅 第二轮 – DSA + 领导力原则

这轮原本也被安排在其他日期,但面试官没有出现,之后重新安排了。

1. 领导力原则问题

Q: 讲述一次你学习了和工作内容不直接相关的新东西的经历。

2. 追问:

Q: 你在那个技术中最喜欢的是什么?

3. 字符串压缩变体

题目:
给定一个字符串,将每一组相同字符按“字符 + 数量”的形式压缩。如果数量超过 9,则从头重新计数。

  • 例如:s = "aaabbc" → a3b2c1
  • 再如:s = "aaaaaaaaaaabbbcc" → a9a2b3c2

解决情况:

  • 采用了优化解法,并成功实现。

4. 美丽节点(Beautiful Nodes)

题目:
给定一个 n x n 的邻接矩阵,找出所有“美丽节点”(beautiful nodes)。

  • matrix[i][j] = 1 表示节点 i 与节点 j 相连。
  • 美丽节点的定义:
    1. 该节点与所有其他节点都相连。
    2. 没有任何节点与它相连。

解决情况:

  • 我写出了正确且优化的解法。

📅 第三轮 – 领导力 + DSA

1. 领导力原则

Q: 讲述一次你为了解决问题而深入研究(deep dive)的经历。

  • 面试官进行了多次追问,考察深度和逻辑性。

2. 领导力原则

Q: 讲述一次你收到负面反馈并如何应对的经历。

  • 面试官同样针对这个问题进行了多次追问。

3. DSA – 最长无重复字符子串

题目:
给定一个字符串,返回其中最长的不含重复字符的子串的长度。

解决情况:

  • 使用滑动窗口(sliding window)进行了优化解决。

最终结果

在第三轮结束后,面试官表示:

“Recruiter 会联系你沟通下一步。”

这应该是通过的好信号(我强烈希望)。

🔚 个人感想

  • 面试官都很友好且专业。
  • 问题既考察了知识深度,也考察了解决问题的能力。
  • 亚马逊非常注重领导力原则(Leadership Principles)。
  • 不要为了回答领导力问题而编造经历,面试官可能会进行追问,会让你陷入尴尬。
  • 没问任何核心学科知识,只考了 LP 和 DSA。
  • 建议提前为各个领导力原则想好几个真实故事,做好准备。

希望这能帮到正在准备亚马逊面试的你!

0 Answers