‹ 全部面经
Amazon Intern VO 面经(已 Offer):N 叉树 + 课程表变式 + 完整 Timeline
Amazon Intern VO 已拿 Offer:BQ 考支持同事、挑战经历与 AI 辅助编程;Coding 三题 N 叉树子节点数、最大深度、LC210 变式检测环,附投递到 Offer 完整时间线。
Amazon
VOOA
面试概况
- 岗位:SDE Intern
- 轮次:两轮,一轮 Engineer,一轮 Manager
- 结果:已拿 Offer 🎉
BQ
- 讲一次你 support 另一个 peer 的经历。
- 讲一次比较 challenging 的经历。
- Manager 问了用 AI 辅助编程的经验。
整体不难回答,套用的都是之前准备好的故事。因为之前实习里用到了 AWS EC2,面试官就实现上的一个小问题稍微 follow up 了一下。
Coding
- N 叉树:求某个节点的子节点(subnodes)数量。
- N 叉树:求最大深度(greatest depth)。
- LC 210 变式:只给出指定课程(given course)需要的依赖顺序,并且要处理存在环的情况。
第 3 题思路:从目标课程出发做 DFS,后序输出依赖顺序。额外用一个 set 记录当前 DFS 调用栈上的节点,如果访问到栈上的节点就说明有环,直接退出。
def course_order(target, prereqs):
"""prereqs: {course: [依赖的课程]},有环返回 []"""
order, done, on_stack = [], set(), set()
def dfs(c):
if c in on_stack:
return False # 检测到环
if c in done:
return True
on_stack.add(c)
for p in prereqs.get(c, []):
if not dfs(p):
return False
on_stack.remove(c)
done.add(c)
order.append(c)
return True
return order if dfs(target) else []
Timeline
| 日期 | 进度 |
|---|---|
| 2.28 | 投递 |
| 3.4 | 收到 OA invite |
| 3.8 | 完成 OA |
| 3.9、3.17 | 两封保温邮件 |
| 3.30 | 约面 |
| 4.10 | 两轮 VO(Engineer + Manager) |
| 4.14 | Offer 🎉 |