OfferForge 导师 Dr. W. — 博士毕业,前 FAANG Senior MLE。研究方向为大规模分布式机器学习系统,曾在顶级国际学术会议发表多篇论文。负责团队学术方向把控与 MLE 面试辅导。
OfferForge 导师 Dr. S. — 前大厂 Senior SDE,精通分布式系统与大规模数据处理。曾在顶级技术会议发表多篇技术报告,专注于系统可扩展性与可靠性。负责课程体系设计与 System Design 面试辅导。
OfferForge 导师 Dr. L. — 前大厂 Senior SDE,深耕分布式系统与微服务架构。在服务治理、事件驱动架构方面有丰富实战经验。负责求职策略制定与 SDE 面试辅导。
在过去几年,我们面了 Amazon NG 岗位不少次(主要是为了帮客户提前探探路),每次流程大致类似,但体验和考察的重点却在不断演进。这次分享的是我们在 2025 年 7 月底刚完成的一轮 Amazon SDE NG 面试,总共三轮:一轮纯 coding、一轮纯 behavioral、一轮混合(coding + behavioral)。Note:2026 年的 NG 面试无非是多了一轮,增加了 AI 相关的问题,其他的内容和形式并无太大变化。欢迎戳主页查看更多案例。
这一轮节奏紧凑,一上来面试官就让直接进入 livecode,没有任何寒暄。第一题是经典的变种 palindrome 问题,题目要求判断一个字符串是否可以通过删除最多一个字符变成回文(valid palindrome II)。我直接上双指针写法,同时补了一个 helper function 来处理边界条件。题目不难,但面试官在我写完以后反问了我两个 corner case,比如空字符串、以及只有一个字符的时候是否符合题意。我提前写了 test case,正好都覆盖到了。
第二题稍微 trickier,是 insert interval 的变种。输入是一组 non-overlapping、sorted 的区间(intervals),再给一个新区间(new interval),你需要把它插入后 merge 成新的 interval list。实现思路是线性遍历 intervals,先把所有在 new interval 之前的区间加入结果,再 merge 所有 overlap 的,最后把剩下的 append 上去。这题我很熟悉原题,所以 coding 没有卡壳,面试官也比较满意,追问的重点放在我对 time complexity 的分析上(O(n))以及“为什么不用 binary search”(我解释说虽然理论可用,但线性 scan 更直观且一次 pass 解决更稳健)
这一轮完全是 LP 导向的 BQ 轮,由一位EM主导。全程对我的项目经验非常感兴趣,同时也对细节追问得非常深入。这轮我准备比较充分,所以整个 session 相对顺畅。
第一个问题是经典的 “Tell me about a time you disagreed with a teammate or manager”,我讲了一个关于上线时间争议的故事。我选择的是一个我们当时争取推迟上线窗口的例子(delayed launch due to missing dependency),我陈述了如何基于数据支持我的建议、以及后续即使被 override 我还是 how I committed to the decision。面试官特别在意我在过程中是否真正听取了对方意见、有没有 collaborative behavior。