亚马逊 SDE-1 面试体验(校外)
9 月份,招聘人员在 LinkedIn 上联系了我,称亚马逊正在积极招聘 SDE 并且我的个人资料匹配。她给我发了职位描述,问我是否想继续。我做到了。我不是有竞争力的编码员,甚至没有积极为一家基于产品的公司做准备,但我已经准备好迎接挑战。我想将这些用作模拟回合,并从错误中吸取教训并进行改进。尽管在一家初创公司有 1 年的工作经验和 6 个月的实习期,我之前从未接受过编码面试。
第一轮:在线评估
- https://leetcode.com/problems/shortest-path-in-a-grid-with-obstacles-elimination/
- https://blog.fearcat.in/a?ID=01350-4d5bbfc5-11e2-4a88-987c-20cdebfbbf2c
- 描述使用的方法并写出上述解决方案的时间复杂度。
招聘人员电话面试:[时长:45分钟]
- 说说你自己
- 移居意愿?
- 当前的工作团队结构和职责。
- 我的工作中有多少比例致力于开发新功能、维护、测试、代码审查和架构?
- 快速排序、归并排序、基数排序、插入排序和堆排序。各有优缺点。适用于哪些输入类型?
- HashTable、HashSet 和 HashMap 的区别。最佳情况和最坏情况下的时间复杂度。
- 什么是哈希冲突以及避免它们的一些方法?
- 何时使用 BFS 和 DFS 遍历?有哪些算法?
两周后——我的虚拟面试安排好了。我练习了 GfG Amazon Interview Sets、LeetCode、Educative.Io 等。
连续 2 天进行了 4 轮比赛。
虚拟面试 - 第 1 轮:[时长 1 小时]
- 亚马逊领导原则中最喜欢的原则。
- 在巨大的障碍之后我失败的时候
- 在巨大的障碍之后我成功的时候
- 当我没有足够的要求时。
- 设计一个具有不同类交互类的办公室结构,如(员工、保险、客户),并为面试官提供的查询实现功能。
虚拟面试 – 第 2 轮:[时长 1 小时]
- 我喜欢和不喜欢我现在的雇主的地方。
- 我在最后期限内完成工作的时间。
- 设定一个目标,做得更好,但失败了。
- 诚实回顾我如何为亚马逊做准备
- 给定一堆书,将其存储在一个高效的数据结构中,并实现检索、插入和删除功能——特定书、随机书、书集。被问及我选择的数据结构的内部工作,并被问及每个数据结构的时间复杂度。我被要求编写一个生产就绪代码来处理边缘情况并抛出适当的异常消息。
(我漏掉了一些错误的输入,这是面试官指出的,然后当我要解决它时——时间到了。我认为这对我来说也是一个不好的迹象。)
虚拟面试 - 第 3 轮 [时长 1 小时]:
- 实施具有观察者模式的应急响应系统。
- 我无法解决技术问题的时间
(这一轮较短,因为我遇到了互联网问题。这对我的表现产生了负面影响——我很害怕,一片空白。我认为这可能对我的候选资格不利)
虚拟面试 – 第 4 轮:[时长 1 小时]
- 我挺身而出带领团队的时候
- 我超越上述职位描述的时间
- 为 2 个对象的给定维恩图实现代码,并为交叉点的某些属性编写函数,例如 A ∩ B 和 A ∩ B ⊆ A。
(这实际上是一个有趣的回合,一旦我有一个例子,它就变得更容易了。)
判决:不成功。但我很高兴我在适度的准备下做到了这一点。
总体建议:
- 他们在行为问题上花费大约 30 分钟,并希望深入了解它。因此,请了解所有细节。
- 对你的答案保持信心,并尽最大努力捍卫它。如果有错误或极端情况,面试官会通知你。承认它并从那里开始工作。他们想知道你也可以接受教练。
- 问大量的澄清问题,在面试官要求继续之前讨论方法——然后再编码。我在一轮中犯了先跳代码的错误,面试官让我从头开始。
- 在 3 轮编码中,您只能在 1 轮中搞砸,因为它是累积报价。您应该表现出一致性,以便其他 2 位面试官可以在艰难的一轮中捍卫您的技能。