信不信由你,在我面对亚马逊的一轮面试之前,我从来不确定人们通常向 GeeksforGeeks 表达的所有感激之情是否真的值得。但回顾过去总是更容易把点点滴滴联系起来,现在我可以肯定地说,这个网站真的值得所有的掌声。
我最近接受了亚马逊实习职位的面试,总共需要进行 3 轮面试,即一轮在线面试,然后是两轮电话面试。
在线回合
像往常一样,在线回合有两个编码问题和 20 个 MCQ。这是一个非常简单的回合,持续时间为 90 分钟。该轮包括来自算法、数据结构、操作系统和能力等各个领域的问题。
在本轮出现几天后,我被告知我已经获得了下一轮的参赛资格。
第一轮电话会议
- 我只有三天的时间来准备这一轮,真正说出来,这是我第一次出现在任何这样的面试中。
- 问题 1:
给定一组数字,找出所有满足给定条件的三元组。条件: a[i] < a[j] < a[k] 其中 I < j < k。
一开始我认为这是一个非常简单的问题,但慢慢地迷雾开始消散,我意识到这有多难。面试官要我在线性时间内解决它,即 O(N) - 问题2:
给定两棵树,检查它们是否是彼此的镜像。
这是一个直截了当的问题,我花了不到 10 分钟的时间来编写代码。 - 现在面试官想测试我对操作系统的理解,并问了两个相当直接的问题,我根据自己的理解给出了答案(不是书本定义,因为我不记得其中任何一个😉)。
- 问题 3 和 4:
什么是信号量,死锁是什么意思。
这一轮持续了近60分钟。首先是我的一般介绍,然后是对我的项目的简要讨论。之后面试官问了我四个问题。
两天后,我接到了 HR 的电话,通知我已被选中参加下一轮。现在是最后一轮决定性回合的时候了。
第二轮电话会议
- 这一轮我的时间比上一轮略多,因为周末正好介于两者之间。这次面试官非常酷而且乐于助人,我把这件事放在了可能发生的事情清单的最后在一次采访中。这一轮的持续时间约为 90 分钟。
- 问题 1:
给定一个 BST,用大于该节点的所有节点的值之和替换每个节点。唯一的限制是我不允许使用任何全局或静态变量。
虽然我有点恐慌,也犯了一些错误,但我还是挺过来了。 - 问题2:
给定一个数字数组,找出双胞胎和三胞胎的最大数量,使得总和是三的倍数。
出现过一次的数字不能包含在其他任何地方。
我使用模数属性解决了这个问题。 - 问题 3:
给定 10 天的股票价格,找到最好的买卖对。
对于这个问题,我从 O(N 2 ) 解决方案开始,但最终设法将其简化为具有恒定空间复杂度的 O(N) 解决方案。我也被问到了一些关于亚马逊的问题,比如亚马逊交易的域名是什么。
这次我不得不面对三个技术问题和一个关于亚马逊的一般问题。
亚马逊的所有练习题!