📜  亚马逊面试经历 | (FTE) 在校园里

📅  最后修改于: 2022-05-13 01:58:22.114000             🧑  作者: Mango

亚马逊面试经历 | (FTE) 在校园里

亚马逊于 2019 年 8 月 10 日访问了我们的校园 (BIT Mesra),进行 FTE 和为期 6 个月的实习。

流程:1轮在线编码,4 次 F2F 技术面试。
在线编码回合: (90 分钟)
该测试于 2019 年 8 月 7 日在 mettl 平台上进行。
有 2 个编码 Q 和 28 个 MCQ。

  • 给定一个数组找到反转计数。
  • 后缀评估。

MCQ 基于 c++、DSA、操作系统、输入/输出。
编码 Q 很容易,因此 MCQ 在第一轮候选名单中发挥了重要作用。
30名学生入围进一步的面试过程。

第 1 轮: (90 分钟)
他浏览了我的简历,并让我解释我提到的一个项目,因此前 15 分钟用于项目讨论。
之后,他问了两个编码问题:

  • 给定一个从左或右旋转 n 次的数组,找到该数组的最大元素。 (预期时间复杂度 O(log N ))
  • 面试官以典型的时尚问这个Q,基本上,Q类似于在给定的数字流中找到最小元素。

他最初是在检查我的方法。之后,他让我在纸上写代码。
面试官真的很有帮助,我在实施时遇到了一次困难,但他给了我一个提示,之后,我能够正确编码处理所有极端情况。
大约20名学生被选中进入下一轮。
第二轮: (60分钟)
这纯粹是编码回合。一开始,面试官先自我介绍,然后让我简单介绍一下自己。
他问了我 3 个编码问题:

  1. https://www.geeksforgeeks.org/construct-bst-from-given-preorder-traversa/
  2. https://www.geeksforgeeks.org/pairwise-swap-elements-of-a-given-linked-list/
  3. https://www.geeksforgeeks.org/print-nodes-distance-k-given-node-binary-tree/

我能够以最佳方式解决所有三个问题,他让我在纸上编写代码。
之后,他又问了我一个编码 Q(第三个 Q 的扩展),
打印距离给定范围 [a, b] 的所有节点。
他只是想检查我对这个 Q 的方法,而我也能破解。
面试官正在为所有问题寻找最优化的方法。
本轮结束后,12名学生被选中进行为期6个月的实习,4名学生入围。

第三轮:技术轮,这一轮持续了近2个小时。
本轮以项目讨论开始(20 分钟)。

之后,他问了我几个编码问题:

  1. 模幂运算。
  2. 一个简单的动态规划 Q(我不记得实际的 Q)
  3. 从 2 个堆栈实现队列,反之亦然。
  4. 合并排序、快速排序、堆排序。

还有一些基于数据结构的Q,我不记得了。
之后,他问了我一些关于 c++ 的理论问题,正如我在简历中提到的那样。

然后他问我oops的概念。我记得的一些问题是:

  1. 什么是悬空指针?
  2. 引用变量 VS 指针。
  3. 垃圾收集器,内存泄漏。
  4. 虚函数和多态性。
  5. verflow 和 underflow 等…

最后,面试官分享了他在亚马逊的经历,问我有什么问题要问。
我们中的 3 人被选中进入下一轮。

第4轮: (Bar Raser)本轮在Amazon chime上进行,时间为90分钟。

  1. 说说你自己。

之后,他让我解释一下我的机器学习项目,我给了他同样的详细解释。幸运的是,面试官曾参与过一些 ML 项目,所以解释我的项目逻辑对他来说很容易。对我的项目进行了 30 分钟的讨论,其中涉及几个交叉问题,例如,为什么选择 CNN,我使用了什么技术,我如何训练如此庞大的数据集,讨论我实施的模型,我是如何分析和预处理图像的,等之后,他问我最近读过的博客。在此之后,他问了一个编码问题:

  1. 给定一个链表,查找其中是否有循环,如果是,则查找循环的起点以及循环外的总节点。

我给了他 3 种方法来解决这个问题。他问我弗洛伊德循环算法的证明。我通过编写所有必需的图表和方程式进行了证明,他对此感到满意,然后我编写了代码。
结果:被选为 FTE 🙂