Amazon WoW 实习面试经验 2022
我在 Amazon Chime 上进行了 2 轮技术测试。对于所有 DSA 问题,我询问了给定的数据类型、极端情况和返回类型。
技术第一轮
面试官介绍了自己,并要求我做同样的事情,他告诉我将这次面试视为一次讨论会。
- 面试官问我最喜欢的数据结构,我的回答是链表和树,也许,因此,我的第一个问题是:
- 给定一个二叉树根和一个以头为第一个节点的链表。如果链表中从头开始的所有元素都对应于二叉树中连接的某个向下路径,则返回 True,否则返回 False。 (也称为“二叉树中的链表”)
- 我告诉我蛮力解决方案和时空复杂性。他让我写代码,我告诉他我可以改进方法并告诉他改进的方法。在整个过程中,当我选择通往正确方法的道路时,面试官一直在承认我说“是的,你正朝着正确的方向前进”。他对我的代码和方法印象深刻。
- 下一个更大的元素
- https://www.geeksforgeeks.org/next-greater-element/
- 我告诉他蛮力,然后改进了他的方法。
- 他让我为这个问题编写伪代码。
第二天就收到了下一轮的邮件,轮次安排在同一天。
技术第二轮
面试官介绍了自己,并要求我也这样做。
- 最低共同祖先:https://www.geeksforgeeks.org/lowest-common-ancestor-binary-tree-set-1/
- 首先我解释了蛮力解决方案,她询问了时间和空间复杂度,然后我告诉她改进的解决方案并编写了代码和时空复杂度。
- 给定一个仅包含值 0 和 1 的 nxn 网格,其中 0 代表水,1 代表陆地,找到一个水单元,使其与最近的陆地单元的距离最大化,并返回距离。 (也称为“尽可能远离陆地”)
- 我能够给出一个蛮力解决方案(BFS 调用网格的每个 0)
- 她给了我改进的提示,但我做不到。
- 最后,她让我为方法(蛮力)和时空复杂性编写代码。
8天后收到正面邮件。
判决:选定