Amazon 软件工程师面试指南

作者 Aaron Cao · 更新于

Amazon 软件工程师面试指南
Amazon 的首次实时交流是时长30至45分钟的电话筛选;软件开发工程师的招聘还包括在线编程测评,而最终且最全面的阶段是面试环节,你需要围绕技术任务和 Leadership Principles 相关证据做好准备。
Amazon 的首次实时交流是时长30至45分钟的电话筛选;软件开发工程师的招聘还包括在线编程测评,而最终且最全面的阶段是面试环节,你需要围绕技术任务和 Leadership Principles 相关证据做好准备。

更多 Software Engineer 面试题 →

各阶段会进行什么?

准备时,应将筛选、编程、系统设计、行为面试和现场面试视为类别,而不是 Amazon 的面试轮次名称。

与 Amazon 的首次实时交流是时长30至45分钟的电话筛选,通常由招聘人员或招聘经理进行。对于软件开发工程师职位,招聘流程还包括含编程测试的在线测评。对于 SDE II,该测评提供90分钟来回答两道技术题,随后是20分钟的系统设计情景题和8分钟的 Work Style Survey。

面试环节是最终且最全面的阶段。它由四至六场面试组成,每场持续45-60分钟,不同面试官会评估你的不同技能和经验。招聘团队之外的一名客观面试官 Bar Raiser 会参与其中,帮助维持 Amazon 的招聘标准。最终面试结束后,面试小组会进行复盘讨论。

每场面试考查什么?

Amazon 的软件开发面试涵盖编程语言、数据结构、算法、编程、面向对象设计、数据库、分布式计算、操作系统及互联网相关主题。大多数技术面试要求进行编程和系统设计白板练习。重点在于运用知识解决问题,而不是回忆孤立的细节。

对于 SDE II,候选人需要编写语法正确的代码,而不是伪代码,并应预期至少会遇到一道软件系统设计题。在一般的软件工程师面试中,应通过陈述假设、解释权衡、测试边界情况以及清晰回应新约束,展现代码质量和沟通能力。

Amazon 的16项 Leadership Principles 是每项招聘决定的基础,而 STAR 方法是其面试的核心。请通过情境、任务、行动和结果来呈现每个例子。对于一般的协作与担当问题,应说明你个人作出的决定、你如何与他人合作,以及你的行动带来了什么变化。

软件工程师流程与其他职位有何不同?

对于 SDE II,Amazon 明确规定先进行在线测评,随后与软件开发团队成员进行四场各55分钟的面试环节。该职位要求编写语法正确的代码,并包含软件系统设计。

相比之下,技术产品经理的电话筛选由一名高级负责人进行,持续60分钟,其中一半用于 Leadership Principles 问题,另一半用于技术产品生命周期。其面试环节包含五场各55分钟的面试。应用科学家的技术电话筛选由一名高级负责人进行,持续60分钟,有时还会进行第二轮筛选,之后与科学团队成员进行四场各55分钟的面试;面试环节中的每位面试官通常会提出两至三个行为问题。

因此,你的软件工程师面试准备应专注于实现能力、计算机科学基础、系统设计和简洁的行为事例,而不是照搬其他职位的准备方案。

流程多长,难度如何?

Amazon 并未公布完整流程需要多长时间。电话面试后通常会在两个工作日内提供反馈,面试环节结束后则通常会在五个工作日内提供反馈。

难度来自考查范围的广度以及实际运用。面试环节是 Amazon 最全面的阶段,而软件开发考查范围横跨编程、设计、数据库、分布式计算、操作系统和互联网相关主题。对于 SDE II,语法正确以及至少一道软件系统设计题的要求,进一步明确了具体的表现标准。你应做好准备,在实现、设计推理和个人经验事例之间灵活切换,同时保持表达清晰。

我应该如何准备评估?

  • 技术广度:复习 Amazon 指定的编程、数据结构、算法、面向对象设计、数据库、分布式计算、操作系统及互联网相关主题。
  • 编程:练习陈述假设、选择合适的数据结构、编写完整代码、检查边界情况并解释复杂度。如果你的目标是 SDE II,请演练在90分钟内完成两道技术题,并确保代码语法正确。
  • 系统设计:练习将开放式问题转化为需求、接口、数据选择、故障处理和明确的权衡。在构建设计的过程中解释每项决策。
  • 行为事例:将 STAR 经历与全部16项 Leadership Principles 对应起来。清楚区分你自己的行动与团队的工作,并将其与具体结果联系起来。
  • 演练:使用模拟面试,检查你的推理是否清楚可闻、代码是否易读,以及你的例子能否清楚体现个人贡献。

Amazon 如何招聘

事实核验于 2026-09-03

样题

  1. 你会如何检测链表中的环,并解释所用方法的复杂度?
  2. 你会如何实现一种具有可预测淘汰行为的缓存,并解释你的设计选择?
  3. 你会如何设计一个能在流量增长时保持可用的服务?
  4. 在关系型与非关系型存储之间作出选择时,你会考虑哪些权衡?
  5. 你能否描述一次你主动负责解决困难技术问题的经历?
  6. 你如何在保持协作的同时处理技术分歧?
  7. 你会如何诊断一个在负载下变慢的服务?

常见问题

Amazon 电话筛选会进行什么?
这是与 Amazon 的首次实时交流:通常由招聘人员或招聘经理进行,持续30至45分钟。
Amazon 面试环节采用什么形式?
面试环节是最终且最全面的阶段,由四至六场面试组成,每场持续45-60分钟。每位面试官都会评估你的不同技能和经验。
每位 Amazon 软件工程师候选人都会接受 SDE II 形式的测评吗?
Amazon 为 SDE II 明确规定了90分钟编程、20分钟系统设计和8分钟 Work Style Survey 的具体形式。其更广泛的软件开发工程师指南指出,流程包括含编程测试的在线测评,因此请遵循针对你所申请职位的说明。
Amazon 在软件开发面试中评估什么?
技术考查范围包括编程语言、数据结构、算法、编程、面向对象设计、数据库、分布式计算、操作系统及互联网相关主题。Amazon 还以其16项 Leadership Principles 作为每项招聘决定的基础。
面试环节结束后会发生什么?
最终面试结束后,面试小组会进行复盘讨论。Amazon 通常会在面试环节结束后的五个工作日内提供反馈,并且招聘团队之外的一名 Bar Raiser 会参与面试环节,帮助维持招聘标准。

相关解答

← Amazon 面试流程