亚马逊面试经历 |设置 212(校内)
在线编码轮
时间1小时30分钟。
1)给定一个数字数组,重新排列数字以使偶数和奇数交替。如果任何一种类型过多,就让它到最后。
2) 给定一棵二叉树,将节点的值更改为其子节点的值之和。
我完成了两个程序,第一个通过了 7 个测试用例,第二个通过了所有测试用例。我入围了面试
第一轮 F2F(技术)
问我在简历中提到的项目中我最喜欢的项目是什么。然后他要求解释项目,然后他问了几个关于它的问题。
他问了2个问题。一是关于链表。我忘记了那些问题是什么。
第二轮 F2F(技术)
使用 2 个队列堆叠。我实施并表明,他很高兴。
给定一个矩阵。每个单元格都标有 * 或没有。不能进入标有 * 的单元格。给定矩阵中的 2 个点 a 和 b,找出点 b 是否可以从点 a 到达。
我给出了一个解决方案,但我错过了标记访问的单元格。他指出,这将是一个无限递归。所以我说我会标记它已访问。然后他告诉我编码。我做到了。他对此很满意。
机器人问题。动态规划。我以某种方式解决了它,然后他要了代码。我写的。他试图了解自己,但他做不到。所以我让他明白了,他很高兴,也很满意。
第三轮 F2F(技术)
关于 OOP 概念的问题。问什么是单例类。我回答,然后他问如何用 C++ 实现。我的 C++ 语言很弱,所以他给出了提示。我试过了,但他对我的回答不满意。
然后他问了一个关于树木的问题。给定一棵二叉树,你必须通过额外的指针连接每一层的所有节点。
我给出了一种使用队列的方法。然后他问如何处理常数空间。我试过了,但我忘记了算法。他试图给出提示,但我无法解决。
第 4 轮 F2F(人力资源 + 技术)
他首先询问其他采访情况如何。然后他问了典型的“告诉我你自己”。
他很少问我最喜欢的项目。我选择了我在第一次采访中解释过的那个。
接着他问道,只要一页字典。它可以来自任何地方,中间,结束或开始。字典是针对一种人们不知道的语言的。您必须找出字母的顺序,哪个在前,哪个在后。我从使用通用树的方法开始。他问我为什么不能使用图表。我想了想并同意了,并开始使用图形。我向他解释了可能发生的不一致。后来经过几分钟的讨论,他告诉我,假设他给我一个用字母代替节点的图表,并说要找出字母的顺序。我将如何去做。我提到了拓扑排序,但我说我不记得正确的算法。他给了一个小提示,这提醒了我,我解决了它。
他给出了一个场景。假设您输入“www.amazon.com”并按 Enter。之后在后台发生了什么。我详细解释了网络层、路由、CDN、内容缓存。我错过了 NAT,所以他问我它是什么以及如何使用它。
然后他给了我一份清单。它有整数。如下图所示(在附件中)。
他让我打印 1、2、3、4……我使用循环来完成,但他想优化它,并说如果我愿意,我可以修改列表。所以我想了想,明白了。他让我写代码。我写了,他看到并说有一个错误,但他错过了一些东西,我解释了他,所以他对代码很满意。
直到最后一轮,只有 7 人在场。 10点40分,面试结束。他们花了 3 个小时才得出最终名单。他们说我们都做得很好。晚上 1 点 30 分,他们宣布了 3 个名字。我没有被选中。总而言之,这是一次很好的体验,但结果出来后我有点难过。