目录
正在加载目录...

Amazon Interview Process Guide:从 OA 到 VO 的面试准备

Amazon 的面试流程会因岗位、级别和招聘类型有所不同。以 SDE 为例,一般是这样走的:简历筛选 → OA → Phone Screen(部分人有)→ VO → 出结果。

New Grad 和 Experienced Hire 的流程不太一样。New Grad 做完 OA 往往直接进 VO,重点是 Coding 和 BQ。有工作经验的候选人则可能在 VO 之前多一轮 Phone Screen,高级别的岗位还会考 System Design,并深挖过往项目。

Amazon Interview Process Guide:从 OA 到 VO 的面试准备

一、Amazon Interview 流程

面试阶段做什么要准备的
简历筛选看背景和岗位匹配度项目经历、技术背景、个人贡献
Online Assessment(OA)Coding、Workstyles 等算法、写代码、工作风格测评
Phone Screen单独的技术面(不是人人都有)Coding、沟通,部分岗位有 System Design
Interview Loop / VO多轮技术面加行为面Coding、BQ、OOD 或 System Design
Hiring Decision & Offer综合各轮反馈做决定整体表现

二、Online Assessment(OA)

OA 的形式不固定,不同岗位、不同批次差别不小,题量和时长也不要当成标准答案。常见的模块有 Coding、Workstyles(用情境题了解你的工作方式)、Work Simulation(模拟工作场景),具体看岗位安排。

准备 New Grad OA,先把常见数据结构和算法练熟,同时留意题目里的约束条件、隐藏用例和边界情况。下面是两道比较有代表性的题。

Question 1:连续背包的最大金额

Amazon Interview Process Guide:从 OA 到 VO 的面试准备

题目描述

一排袋子从 1 开始依次编号,题目通过几个互不重叠的区间描述袋子中的金额:每个区间内的袋子金额相同,没有被任何区间覆盖的袋子金额为零。现在需要连续取指定数量的袋子,求最多能拿到多少钱,最后按要求取余。

解题思路

由于袋子的位置范围可能很大,不需要将每个袋子逐一展开。先按照区间的位置排序,并将要取的连续 (k) 个袋子看作一个固定长度的窗口。分别考虑窗口左端与某个区间起点对齐、窗口右端与某个区间终点对齐的情况,计算窗口内的总金额。对于被完整覆盖的区间,直接累加其总金额;对于只覆盖部分的区间,则用覆盖的袋子数量乘以每个袋子的金额。提前计算各区间的累计金额,再通过二分查找快速定位窗口边界,从而高效比较不同候选位置的总金额,最后再取余。

Question 2:修复电影搜索和筛选

Amazon Interview Process Guide:从 OA 到 VO 的面试准备

题目描述

基础搜索功能未能按预期运行。目前,只有当输入的查询内容与电影标题完全一致时,才会返回搜索结果,并且搜索区分大小写。此外,搜索功能会忽略用户选择的搜索类型筛选项(All、Title、Celebs),始终只搜索电影标题。这导致用户难以查找电影或名人,降低了搜索功能的实用性。

复现步骤:

  • 找到页面顶部的搜索栏。
  • 打开搜索类型下拉菜单,选择任意选项(All、Title 或 Celebs)。
  • 输入搜索关键词,观察返回的搜索结果。

解题思路

将基础搜索和高级搜索的逻辑统一到 search_movies 接口中,根据传入的参数动态添加查询条件。文字搜索采用忽略大小写的包含匹配,支持通过部分名称查找结果。选择“标题”时匹配电影名称,选择“人物”时匹配相关人物,选择“全部”时只要电影标题或人物信息任意一项匹配即可。年份按照指定的上下限筛选,其他条件则根据对应字段进行匹配,不同筛选条件之间使用“并且”组合。查询完成后,按照要求优先按评分排序,再按热度排序,整理需要返回的字段,并检查人物关联查询是否会导致同一部电影重复出现。

三、Amazon Phone Screen:电话技术面试与例题

不是每个人都会有这一轮。New Grad 在 OA 之后可能直接进 VO,而对有经验的候选人,尤其是技术要求较高的岗位,VO 之前更可能加一轮。名字虽然叫 Phone Screen,实际上多半是视频加在线编程平台。

内容因岗位而异,常见的有:

  • Coding:数据结构、算法、写代码、分析复杂度
  • 解题过程:怎么拆题、怎么发现约束、几种方案怎么比较
  • 技术沟通:能不能讲清楚思路,会不会主动聊边界情况,被追问时接不接得住
  • System Design 或项目讨论:多见于有经验的候选人
  • BQ:团队合作、处理冲突、做决策的经历

准备时别只盯着样例能不能过。面试官会想听你为什么选这个数据结构、有没有更好的办法、输入变大以后表现如何。要聊项目的话,提前想好背景、你负责哪一块、遇到什么技术难点、怎么做的决定、最后结果如何。讲的时候突出你个人的贡献,不要只说团队做成了什么。

3.1 Course Schedule(课程表)

题目描述:

给定 n 门课程和先修关系 prerequisites,判断能否修完所有课程。本质上是判断有向图中是否存在环。

解题思路:

使用拓扑排序(Topological Sort),采用 Kahn’s Algorithm,也就是基于入度数组和队列的 BFS 解法。先统计每门课程的入度,将入度为 0 的课程加入队列,再逐步处理这些课程,并更新后续课程的入度。如果最终处理的课程数量等于 n,说明所有课程都可以修完;否则说明图中存在环。

面试官还会追问是否有 DFS 解法,并确认当前实现使用的是 BFS 还是 DFS。最后需要分析时间和空间复杂度,并手动 dry run 一个示例。

  • 时间复杂度: O(n+m)
  • 空间复杂度:O(n+m)

其中,n 是课程数量,m 是先修关系的数量。

四、Amazon VO

VO 一般有好几轮,轮数和安排同样因岗位、级别、批次而异。New Grad 的 VO 通常是 Coding 加 BQ,也可能单独安排一轮纯 BQ,不要假设每一轮结构都一样。技术部分可能涉及算法、OOD 或 System Design,看岗位要求。下面是几份 New Grad 面经里出现过的形式。

VO 1:BQ + Coding

简单自我介绍后,面试官直接进入 Behavioral Questions(BQ),询问了一个关于截止日期和跨部门协作的问题,并进行了多轮追问。这部分不能只靠背诵 STAR 模板,还需要真正理解项目背景、自己的具体行动以及最终结果,才能应对深入追问。

Coding:计算括号的最大嵌套深度

给定一个包含圆括号 () 和方括号 [] 的字符串,要求找出其中最深的嵌套层数。

解题思路:遍历字符串,遇到左括号时,当前深度加一,并更新最大深度;遇到右括号时,当前深度减一。遍历结束后,返回记录的最大深度即可。

Follow-up:如果字符串中只有一种括号,或者多种括号混合出现,应该如何处理?这两种情况都可以使用相同的深度统计思路,无需改变整体算法。

VO 2:BQ + Coding

BQ 部分主要考察在信息不完整的情况下如何做决策,以及当自己与同事或上级意见不一致时,会如何处理和应对。

Coding:字母异位词分组(Group Anagrams)

给定一个字符串数组,将互为字母异位词的单词分到同一组。要求不能使用排序生成签名的解法,即避免(O(n·k log k))的时间复杂度。

解题思路:

使用长度为 26 的字符计数数组记录每个单词中各字母出现的次数,并将计数结果作为 Hash Map 的 key;也可以将字符频次编码成一个整数作为 key。遍历所有单词,根据对应的 key 将字母异位词分到同一组,最后汇总 Hash Map 中的所有 value。

完成编码后,运行了几组测试用例,并进一步讨论了使用质数乘积作为 key 的方案及其潜在问题,包括整数溢出和哈希碰撞。

VO 3:OOD

简单自我介绍后,面试官进入 BQ 环节,主要询问了如何帮助同事解决问题、如何进行团队协作,以及当自己与上级意见不一致或发生冲突时,会如何处理。

OOD:设计一个自动售货机(Vending Machine)

这是一道面向对象设计题,要求设计一个自动售货机系统。设计的核心是抽象出一个 Coin 基类,再让不同国家的货币作为子类继承该类,并分别实现相应的功能。

VO 4:BQ 轮

这一轮主要考察 Behavioral Questions(BQ),问题包括:

  1. Why do you want to apply for this position at Amazon?
    为什么想申请 Amazon 的这个职位?
  2. How do you usually handle it when there’s disagreement within your team?
    当团队内部出现意见分歧时,你通常会如何处理?
  3. Can you share a project that best represents your skills and experience?
    能否分享一个最能体现你技能和经验的项目?

准备建议:

  • 用 STAR 组织答案:Situation、Task、Action、Result
  • 选能体现个人贡献的经历,别只讲团队成果
  • 每个故事都要有具体行动和结果,有数据的话拿数据说明影响
  • 可以对应到相关的 Leadership Principles,但别为了凑原则去编经历
  • 提前想好追问:为什么选这个方案?还有哪些替代方案?结果不理想你会怎么办?

总结

Amazon 的面试大致就是简历筛选、OA、部分人有的 Phone Screen、VO,然后出结果,具体安排随岗位和招聘类型变化。New Grad 建议重点准备 OA 和 VO 的 Coding、BQ,并熟悉 Leadership Principles。有经验的候选人要根据岗位进一步准备 Phone Screen、System Design 和项目深挖。

如果你正在准备Amazon或其他大厂的 OA 或面试,除了刷题,也可以结合真实面经熟悉常见题型和考察方向。InterviewShow 整理了 Microsoft、Google、Stripe、TikTok 等科技公司的面试资料,可领取相关公司的 OA/VO 真题,帮助你了解常见考点和面试形式。我们也提供 OA 辅助和面试辅助服务,覆盖 Coding、System Design 和 BQ。你可以查看服务介绍,或直接联系我们了解详情。

FAQ

Amazon 面试流程需要多长时间?

Amazon SDE 的招聘流程通常需要几周到数月,具体取决于岗位、招聘团队的安排、面试轮次和反馈速度。从提交申请、完成 OA 到参加 VO,再到收到最终结果,各阶段所需时间可能不同。建议及时跟进 Recruiter 的邮件,并提前为 OA 和 VO 做好准备。

Amazon 面试难吗?

Amazon SDE 面试有一定难度,主要考察 Coding、Behavioral Questions(BQ),部分岗位还会涉及 OOD 或 System Design。New Grad 需要重点练习常见算法题,并准备能够体现 Amazon Leadership Principles 的真实经历;Experienced Hire 则可能需要应对更深入的 System Design 和项目追问。提前练习真题、熟悉解题思路并准备 BQ,有助于提高面试表现。

Amazon SDE 面试应该怎么准备?

准备 Amazon SDE 面试,可以从 Coding、Behavioral Questions(BQ)和岗位相关的 System Design 入手。Coding 重点练习常见数据结构与算法,BQ 则需要结合真实项目准备能够体现 Amazon Leadership Principles 的经历。有工作经验的候选人还应准备项目深挖和系统设计问题。

END