📜  亚马逊 SDE-I 面试经验(6 个月经验)

📅  最后修改于: 2021-11-17 10:11:15             🧑  作者: Mango

我收到了一封来自亚马逊的邮件,因为我被某人(linkedIn 连接)推荐给了 SDE-1 角色。这对我来说是完全出乎意料的推荐。我和我的朋友已经预订了去果阿的门票,因为我不期待任何推荐。

招聘人员在 goa 旅行前一周给我发送了编码测试,我必须在那里编写代码以及方法和时间和空间复杂度:

  1. https://practice.geeksforgeeks.org/problems/minimum-cost-of-ropes-1587115620/1。使用最小堆解决。
  2. https://aonecode.com/amazon-online-assessment-oa2-optimize-memory-usage 。使用 2 指针方法解决,还提到了二分查找方法。

在通过了两个问题的所有测试用例后,我期待着一个面试电话,所以我也带着笔记本电脑去了 goa。我在果阿度过了前 4 天,第五天,星期五,在 Amazon Chime 上进行了三轮比赛

面试第一轮(招聘经理轮):前40分钟,我们讨论了我目前的公司工作,大学项目,一些行为问题,比如与经理的冲突,与同事的冲突等。

然后他问了一些技术问题

  1. REST API 和 SOAP API 之间的区别
  2. 生产者消费者问题
  3. 什么是虚拟内存
  4. 什么是垃圾收集器,线程 vs 进程。

我回答了所有问题。

在我别墅的第一轮 LAN/WiFi 停止工作后,我去了最近的 Bar+Restaurant,因为 Bar 的 Wi-Fi 工作正常。

面试第 2 轮(DS/Algo 轮):由 SDE-1 拍摄

前10-15分钟他问了我现在公司的工作和一些行为问题。然后他跳到编码问题上

  1. https://practice.geeksforgeeks.org/problems/level-order-traversal-in-spiral-form/1 。我给出了两种方法,一种是使用 2 个堆栈,另一种是使用一个双端队列。我被要求为 2 堆栈方法编写代码。
  2. https://www.geeksforgeeks.org/value-to-be-subtracted-from-array-elements-to-make-sum-of-all-elements-equals-k/ 。我被告知要编写一个生产就绪的代码对于所有场景,使用二分搜索方法解决了这个问题

面试第 3 轮(DS/Algo 轮):由 SDE-2 拍摄

我别墅的 wifi 在这一轮开始正常工作。

面试官问我今天的情况,我告诉他我在酒吧坐了第二轮,他开始大笑并欣赏我的精神。在简短的介绍之后,他直接跳到了编码问题:

  1. https://www.geeksforgeeks.org/check-if-array-can-be-sorted-with-one-swap/。首先我给出了一个 O(n²) 的方法,他告诉我用 O(n) 来做。我给出了一个快速的方法,但在某些情况下它失败了,经过 5-6 分钟的交互式讨论后,我终于给出了一个方法,并且在所有情况下都可以正常工作。他告诉我用有意义的变量和函数名称编写生产就绪代码。
  2. https://practice.geeksforgeeks.org/problems/snake-and-ladder-problem4816/1。首先我告诉他可以使用DFS或BFS来解决。他告诉我使用 DFS 解决它。尝试了一段时间后,我意识到使用 DFS 会陷入 ∞ 循环,我尝试了 10 分钟,但无法使用 DFS 解决此问题。然后经过 5 分钟的互动讨论,他告诉我可以使用 BFS 解决。

第二天,我从果阿回家。在上一轮未能完全解决零食和梯子问题后,我没想到下一轮面试电话,但幸运的是招聘人员联系了我,5天后有最后一轮。

面试第 4 轮(DS/Algo 轮):由 SDE-2 拍摄

  1. 面试官迟到了 10 分钟,他就是推荐我担任这个角色的那个人。经过简短的讨论,他问了我一些与我的大学项目和当前公司工作相关的行为问题,我试图向他解释我目前的公司工作,我是如何处理单点登录/OIDC 协议的。却无法完美地解释他。
  2. 然后他看了我的简历,因为我在 Codechef 上是 5*,他问了我在 Codechef 上解决的最具挑战性的问题,当时我完全空白,然后我告诉了他这个(https://practice.geeksforgeeks .org/problems/allocate-minimum-number-of-pages0937/1) 问题,由于 Codechef 我开始知道这可以使用二进制搜索而不是 DP 来解决。
  3. 然后他让我为以下问题编写代码:https://www.geeksforgeeks.org/palindrome-partitioning-dp-17/
  4. 我使用这种 (https://practice.geeksforgeeks.org/problems/palindromic-patitioning4845/1/)O(n²) 方法编写了代码。

结果:没有被选中???? ,从技术上讲,我很好,但根据亚马逊的领导原则我并不是最适合的。

希望这会帮助其他人。祝一切顺利 !!!为领导原则做好准备。