📜  亚马逊面试经历

📅  最后修改于: 2021-11-21 06:17:03             🧑  作者: Mango

程序员您好,这是我在亚马逊 (2019) 担任 SDE1 职位的面试经历。

第 1 轮(在线轮): 2 个编码问题和 28 个 MCQ

  1. 让1代表’A’,2代表’B’等。给定一个数字序列,计算给定数字序列可能的解码次数。 (https://www.geeksforgeeks.org/count-possible-decodings-given-digit-sequence/)
  2. 给定字符串形式的 num1、num2 和 X 的等式,您必须在字符串找到 X 的值。
    Ex: String is 100000+200000=X
    X will be 300000
    String is 100000+X=500000
    X will be 400000

我解决了两个编码问题。

准备好所有指针概念以及如何返回字符字符串等。

第二轮(算法轮):我被告知要自我介绍。然后他就直接上题了。问题是:

  1. 给定一个 N x N 大小的方形棋盘,给出骑士的位置和目的地。您需要找出骑士到达目的地所需的最少步骤并打印相同的路径。 (https://www.geeksforgeeks.org/minimum-steps-reach-target-knight/)

最初,他们给了我一个基本的 BFS 解决方案,该解决方案查看所有需要 O (N * N) 时间的 8 K Knight 模式。

有人告诉我,作为一个明智的决策者,我在代码方面做得很好。我不知道面试官在期待什么。我在考虑放弃特定组合但丢失解决方案的 A * 搜索算法(意味着它在很短的时间内接近解决方案,由谷歌地图使用)。

我没想到有资格参加这个周期。但幸运的是我被召唤到下一轮。

第三轮(算法轮):面试官很冷。一开始,我给她介绍了自己,然后她介绍了自己。我应该简要描述我的任何一个项目(10 分钟)。

  1. 给定一个链表,编写一个函数来反转每个 k 节点。 (https://www.geeksforgeeks.org/reverse-a-list-in-groups-of-given-size/)
  2. 给定一棵二叉树,找到其父节点的左子节点的最深叶节点。 (https://www.geeksforgeeks.org/deepest-left-leaf-node-in-a-binary-tree/)

第 4 轮(基础 + 算法):最初,我介绍了自己。面试官很淡定。他问我关于我的科目。然后深入检查基础知识。前任-

  • 分页/虚拟内存
  • CPU调度算法
  • 死锁/信号量/临界区
  • OSI 层的工作 (CN)
  • 如果我输入“google.com”作为 URL,会发生什么。解释整个过程。

第5轮(技术轮):面试官是一位经验丰富的人。首先我自我介绍。有人让我解释我的任何一个项目,他告诉我你现在将如何改进同一个项目。

然后他问了一个树问题——我头疼,我只是微笑,面试官认为我对这个问题很熟悉,问我是否熟悉这个问题,我说是(甚至问题对我来说并不熟悉,但不要这样我当时很幸运)

然后他交换了问题。并问了这个——

  1. https://www.geeksforgeeks.org/check-whether-the-two-binary-search-trees-are-identical-or-not/

我应该只是口头告诉算法。然后他问了我的兴趣。