📜  亚马逊 SDE 面试体验 | 6个月实习(校内)

📅  最后修改于: 2021-11-10 06:22:32             🧑  作者: Mango

亚马逊于 2020 年 9 月访问我们大学(Thapar Institute)招聘实习生(6 个月实习)。由于 COVID 大流行,整个过程都是虚拟的没有 CGPA 削减。允许的分支为 – CS、ENC、ECE、EIC 和 EE。大约 600 名学生进行了测试。

第一轮(在线测试):测试包括四个部分。

  1. 代码调试部分(20 分钟):有7 个问题。我们必须在给定的代码片段中找到逻辑错误并进行更正。这部分很容易。

  2. 编码测试(70 分钟):提出了2 道编码问题,每个人都有一组不同的问题。

    • 在按行和按列排序的矩阵中查找元素。
    • 检查一棵树是否是第二棵树的子树。
  3. 工作方式评估(20 分钟):这些是一些行为问题。

  4. 推理能力部分(35 分钟):大约有 24-25 个 MCQ——能力、基于段落的问题、推理问题。

测试结束后, 70名学生入围面试。

Amazon Chime 上的第二轮 F2F 面试(1 小时):面试官看了我的简历。然后,他直接跳到了编码问题。在这一轮中,我被问到两个问题,他希望我在他们自己的编码门户上编写相同的代码。

  1. 对于 N 叉树,打印其顶点。 Apex 定义为每个级别的第一个和最后一个元素。首先,他要求只对函数部分进行编码。然后,他让我写完整的代码,也就是写主函数。
  2. 对于字符串,打印其先前的词典排列。我为此编写了代码,然后他要求我对代码的某些部分进行一些优化。最后,他问我有没有什么问题。

大约60%-65% 的学生通过了第二次面试。

Amazon Chime 上的第三轮 F2F 面试(40-45 分钟长):面试官看了我的简历。然后,他直接跳到了编码问题。在这一轮中,我被问到了两个问题。

给定一个类似树的:

1    
       /     \    
     2        3   
   /   \     /  \  
 4     5   6     7  
 / \   / \    
8  9 10  11 

其中元素是从 1 开始的连续整数。除最后一层之外的所有级别都完全填充。我必须检查树中是否存在给定元素。

  • 首先,我给出了使用递归将每个节点与给定值进行比较的方法。时间复杂度 – O(n)。
  • 然后他让我优化解决方案(预期时间复杂度 – O(log n))。
  • 我想出了一种方法,我们可以在每个级别检查最左边的节点,因为它总是 2 的幂。但这没有奏效。
  • 然后,我看到有一个关系,节点 ‘i’ 的子节点是 – 2*i 和 2*i+1并且对于每个节点 ‘i’,它的父节点是 i/2 。所以,如果我想搜索 11,那么我将从 11 开始 -> 11 的父将是 5(11/2) -> 5 的父将是 2(5/2) -> 2 的父将是 1 (2/2)。所以,我只需要遍历路径 1->2->5->11。
  • 然后,我为这种方法编写了代码,面试官对代码很满意。

在上面的树中,我必须找到树中存在的最大值。

他要求对这个问题使用上述方法。所以,我想出了这个方法——

最大值节点将始终出现在最后一层。因此,答案将在范围内 – 2^level 到 2^(level+1)-1。所以,然后在这个范围内应用二分搜索并检查中间值是否存在。时间复杂度 log n * log n。

最后,他问我有没有什么问题。本次采访结束。

被选中。

结果第二天早上就出来了。共有17 名学生被选中进行实习,我就是其中之一:-)。

我要感谢 Geeksforgeeks,他们在面试中对我帮助很大。