← 返回博客列表 Amazon SDE 实习 VO 复盘:两轮 Onsite,LP 行为题 + 合并区间 / 岛屿数量口述编码
Amazon

Amazon SDE 实习 VO 复盘:两轮 Onsite,LP 行为题 + 合并区间 / 岛屿数量口述编码

2026-06-05

Amazon 的 SDE 实习面试流程很高效:OA 通过后进入 两轮 Virtual Onsite,没有更多筛选。时间线大约一个多月——10 月底投简历,11 月初收到 OA(两周完成),11 月下旬收到 VO 邀请。整个面试通过 Amazon 自家视频工具 Chime 进行,两轮都是 behavioral + coding 的组合,且 BQ 100% 围绕 16 条 Leadership Principles。两轮加起来基本决定结果,重要性都很高。

一、Amazon SDE 实习面试概览

维度 详情
流程 OA → 两轮 VO
工具 Amazon Chime(需提前下载测试)
单轮时长 约 45 分钟
单轮结构 自我介绍 + BQ + coding + QA
关键 BQ 全围绕 16 条 Leadership Principles

每轮都分两部分:behavioral + technical。开场寒暄、自我介绍,然后 BQ,接着进入 coding。两轮风格相似,但题目和侧重点不同。

二、第一轮:两道 LP 行为题 + 合并区间

2.1 Behavioral(约 20 分钟)

两道 BQ 都围绕 Leadership Principles,全程用 STAR 结构

第一题:"Tell me about a time when you had a conflict with a teammate and how you resolved it." 考察人际关系和冲突管理。我讲了一次因分工不清导致责任重叠的情况:主动沟通澄清任务边界,引导团队重新梳理项目计划,最终顺利推进并提升协作效率。

第二题:"Tell me about a time when you had to learn something very quickly to complete a task." 考察压力下的快速学习能力。我分享了临时被要求用不熟悉的框架开发:短时间内查文档、读开源项目,两天内完成关键功能模块。

2.2 Coding:合并区间(口述题,无运行环境)

Amazon 的 coding 很特别:没有在线题目展示,由面试官口述题目要求,你要自己理解、clarify 模糊点、解释思路、写代码,并在没有运行环境的情况下讲解测试。编辑器极简,无 test case、无运行按钮。

题目:给定一组可能重叠的区间,将所有重叠区间合并并返回结果。

思路转化:排序 + 扫描线。先按起点排序,依次遍历,当前区间与前一个重叠则合并,否则加入结果。

def merge_intervals(intervals):
    if not intervals:
        return []
    # 必须先按起点排序,否则无法一次扫描完成合并
    intervals.sort(key=lambda x: x[0])
    merged = [list(intervals[0])]
    for s, e in intervals[1:]:
        if s <= merged[-1][1]:          # 与上一个区间重叠
            merged[-1][1] = max(merged[-1][1], e)
        else:
            merged.append([s, e])
    return merged

口述要点:讲清 为什么排序是必须的(保证重叠区间相邻)、合并逻辑边界(相邻端点是否算重叠、空输入)。要能在脑中模拟代码、自定义 test case 描述输出。时间复杂度:O(n log n);空间复杂度:O(n)。

三、第二轮:LP 行为题 + 岛屿数量

3.1 Behavioral(约 15-20 分钟)

第二轮的 BQ 偏 Ownership / Bias for Action

题目:"Tell me about a time when you took ownership of a problem that wasn't strictly your responsibility." 我讲了在实习中发现一个被忽视的监控盲点,主动补上告警和文档、推动团队采纳的经历,强调「主动承担 + 推动落地」。

3.2 Coding:岛屿数量(同样口述,无运行环境)

题目:给定一个由 '1'(陆地)和 '0'(水)组成的二维网格,计算岛屿数量。岛屿被水包围,由相邻的陆地水平或垂直连接而成。

思路转化:经典 网格 BFS / DFS 连通分量。遍历每个格子,遇到未访问的陆地就计数 +1,并用 BFS/DFS 把整座岛标记为已访问。

from collections import deque

def num_islands(grid):
    if not grid or not grid[0]:
        return 0
    rows, cols = len(grid), len(grid[0])
    count = 0
    for r in range(rows):
        for c in range(cols):
            if grid[r][c] == '1':       # 发现一座新岛
                count += 1
                grid[r][c] = '0'        # 标记已访问,避免重复计数
                q = deque([(r, c)])
                while q:
                    x, y = q.popleft()
                    for dx, dy in ((1, 0), (-1, 0), (0, 1), (0, -1)):
                        nx, ny = x + dx, y + dy
                        if 0 <= nx < rows and 0 <= ny < cols and grid[nx][ny] == '1':
                            grid[nx][ny] = '0'
                            q.append((nx, ny))
    return count

口述要点:讲清 为什么找到一座岛后要立刻把整片陆地标记掉(否则会重复计数)、边界判断(越界、空网格),以及是否允许修改原网格(不允许就用单独的 visited 集合)。时间复杂度:O(rows × cols);空间复杂度:O(rows × cols)(最坏情况队列大小)。

四、Lesson Learned

教训 说明
BQ 全围绕 LP 两轮都有 BQ,要准备覆盖多维度的 STAR 故事
表达比代码更重要 无运行环境,要靠语言把逻辑、边界、test case 讲清楚
时间管理 每轮 45 分钟塞下自我介绍 + BQ + coding + QA,BQ 别讲太细

建议平时按完整流程模拟节奏,而不是单独准备每一块——BQ 讲太细,coding 部分就会时间紧张。


FAQ

Q1:Amazon SDE 实习 VO 有几轮?

两轮 Virtual Onsite。OA 通过后进入两轮,每轮约 45 分钟、均为 BQ + coding 组合,通过 Chime 进行。两轮加起来基本决定结果,所以 BQ 和 coding 都要稳定发挥。

Q2:Amazon 的 coding 为什么没有运行环境?

Amazon 的 coding 由面试官口述题目,编辑器极简、不能运行、无 test case。这要求你代码逻辑必须正确清晰,还要能在脑中模拟运行、口头描述输出和边界条件。

Q3:两轮 BQ 大概问什么?怎么准备?

全围绕 16 条 Leadership Principles,常见有 conflict resolution、快速学习、ownership、bias for action。建议提前写好覆盖 Ownership、Customer Obsession、Bias for Action 等多个维度的 STAR 故事。

Q4:每轮 45 分钟怎么做时间管理?

自我介绍简短、BQ 用 STAR 控制时长、留足 coding 时间。BQ 讲太细会挤压 coding,平时按完整流程模拟节奏最有效。需要的话,我们的 VO 辅助 / 面试辅助 可以帮你按真实节奏做两轮限时模拟。


正在准备 Amazon SDE 实习 VO?

Amazon 实习两轮 VO,BQ(LP)和口述 coding 一样关键。如果你想要合并区间 / 岛屿数量这类口述编码的限时陪练、LP 故事打磨,或两轮 VO 的完整节奏复盘,欢迎交流:发岗位 JD 先做题型与 BQ 预测,再排练习计划,也支持 VO 辅助 / VO 代面 / 面试辅助 的实时对接。

立即添加微信 Coding0201获取 Amazon 实习 VO 真题与陪练

联系方式