亚马逊面试体验(校内)
在线评估
- 7 个简单的调试问题
- 中等难度的树问题。
- 一个简单中等难度的数组问题。
- 24 个不同难度级别的一般能力问题。
- 45-50 工作风格评估
技术面试第一轮:面试官进行了自我介绍,并要求我进行介绍。然后他直接转入问题。
问了两个问题
- https://leetcode.com/problems/search-a-2d-matrix/。我给出了 3 种不同时间复杂度的方法,从 O(nm) 到 O(log n + log m)。向面试官提供从蛮力到完全优化的所有方法总是比直接提供最优化的解决方案要好。
- https://leetcode.com/problems/longest-zigzag-path-in-a-binary-tree/。我在这个问题上有点挣扎,但一直在大声思考。由于剩下的时间不多了,面试官给了我一个提示,之后我就可以轻松地解释和编写解决方案了。
第 2 轮技术面试:面试以与第一轮类似的方式开始,先进行介绍,然后继续提问。
这一轮也问了两个问题
- 这是一个简单的基于图形着色的问题,我很容易解释了我的方法并编写了解决方案。
- 找出图中存在的最长路径的长度。路径可以从任何节点开始并在任何节点结束。这个问题是另一种询问图形直径的方法。我解释了我的方法并在 O(n) 时间内编写了解决方案。可以在这里找到对该方法的一个很好的解释https://leetcode.com/problems/minimum-height-trees/discuss/923071/Python-Find-diameter-using-2-dfs-explained/754368/
在讨论了每种方法之后的两轮中,面试官都问我时间和空间的复杂性。
尖端:
- 不要被面试官吓倒,他/她会帮助你找到解决方案。
- 大声思考是非常重要的。
- 尝试将采访转变为讨论。
结论:大约 300 名学生申请了在线评估,其中 59 人获得了面试电话,最后 10 人获得了实习机会,我就是其中之一。