📜  SDE-1 FTE 的亚马逊面试体验(校内)

📅  最后修改于: 2021-11-24 02:46:57             🧑  作者: Mango

亚马逊参观了我们的校园,招聘 SDE-1 FTE。一共4轮(1个编码测试+3个技术面试)

第 1 轮(编码测试):该轮有 4 个部分,调试、编码、工作风格评估和能力。调试和 aptitude 很容易,甚至不需要任何准备。你只需要在所有这些回合中都快一点。

在编码回合中,从这个问题池中为每个人选择了 2 个随机问题。

  • https://leetcode.com/discuss/interview-question/344650/Amazon-Online-Assessment-Questions/

尝试新旧部分中的所有问题。

第 2 轮(技术面试 1):

  1. 一个BST的两个节点互换,修正BST。
  2. 给定一个数字 N,计算可以构造的数组的数量,使得元素的总和为 N。一个约束是每个元素应该大于 3。

    例子:

    Input: 6
    Output: 2
    Possible arrays: [3,3], [6]

我给出了递归解决方案。他们想要该解决方案的时间复杂度。这有点像 (N-6)^(N/3)。然后他们要求使用 DP 优化解决方案。

第三轮(技术面试二):

  1. 给定 2 个数字 N 和 M,计算它们中设置位的数量。他首先让我做一个函数来返回一个数字的集合位数,然后要求我编写解决方案。他想要像这样的最优化的解决方案。 https://www.geeksforgeeks.org/count-total-set-bits-in-all-numbers-from-1-to-n-set-2/ 我无法给出。
  2. 给定依赖关系,如 A->B、C、D 和 B -> D 和 D -> E。打印任务的顺序。例如 EDBCD A。我想出了拓扑排序解决方案 https://www.geeksforgeeks.org/topological-sorting/。他想寻找所有边缘情况并检查代码是否完美。我发现存在循环依赖的情况并相应地更改了代码。
  3. 然后他询问了一些操作系统和网络问题,例如信号量和互斥锁的区别、TCP 和 UDP 的区别以及银行家算法是什么。然后他跳到我的简历上,询问我做过的实习。

第 4 轮(技术和管理):对我来说,这一轮只有 45 分钟。

  1. 给定一棵二叉树,找到具有最大节点的级别并给出该级别的节点总和。他希望我只使用队列而不使用其他任何东西,然后他要求优化它,因为树很大。然后他询问相同的时间复杂度。我错过了一个边缘情况。
  2. 告诉我您遇到复杂问题的经历以及您想出的解决方案?然后他问我是否可以做一些不同的和更好的事情。
  3. 告诉我什么时候我不得不在短时间内处理大量数据?再次问我是否可以采取任何不同的方法。

检查这个以获取更多详细信息。 https://www.amazon.jobs/en/landing_pages/in-person-interview

最终有8个学生4轮,包括我在内,6/8被选中?

注意:他们对每个算法的时间复杂度都非常认真。准备行为问题,并阅读上述链接中提到的领导原则和 STAR 格式。

他们希望每个问题的可运行代码也涵盖所有边缘情况。