亚马逊 SDE 实习面试经验
我在一所大学参加了泳池运动,那里有来自不同大学的学生。
有 3 轮 - 在线轮和 2 轮技术面对面面试。
在线轮次:有 28 道 MCQS 和 2 道编码问题。 MCQ 主要是关于数据结构、C/C++ 输出和 3 个能力问题。
两个编码问题是:
- 给定一个格式为“num1+num2=num3”的字符串输入。其中一个数字将被指定为“X”(例如:“5+X=9”)。返回 X 的值。
- 给定一个格式为“ar ar2”(例如:“9 27”)的字符串输入,它是几何级数中的第二个和第三个数字。给定 n,返回该几何级数的第 n 个值。
大约有 80 人在等待来自 4 个不同学院的面试。
技术第一轮:
面试官首先询问了我做过的项目。我解释了我最近做的项目。然后他开始询问有关我项目中某些事情的实施的问题。我被要求编写在我的 Web 应用程序中使用的数据库模式和查询。我在我的 android 应用程序中使用了 firebase 数据库。他问了几个关于 firebase 中数据的存储和检索的问题,以及 SQL 和 NoSQL 数据库之间的区别,以及哪个是最受欢迎的。我回答了他们。
然后他问了一些关于 Web 浏览器中缓存的问题,以及在我的 C 编译器项目中编写代码。关于我的项目的问题持续了 45 分钟。
然后给了我一个简单的编码问题。
- 在数组中查找缺失的数字,其中数字是连续的,但以未排序的方式。
我解释了我的两种方法。然后他让我为此编写代码(除非面试官另有说明,否则您可以自由地用任何语言编写代码)。
在第一轮技术轮之后,大约 30 人入围了第二轮技术轮。
第二轮技术:
这完全是编码回合。他要求所有问题的最佳解决方案并编写代码。
问题是:
- 找到 2 个链表的交点。
- 打印二叉树的右视图。
- 给定一个从 0 开始,到 1 结束的湖,以及对 (x, r) 中的水滴列表,其中 x 是水滴落在湖上的点,r 是由于该水滴在湖中引起的波纹的半径.找出用涟漪覆盖整个湖所需的最少水滴数。
亚马逊的面试官真的很放松,你可以自由地与他们互动。如果您在回答他们的问题时遇到困难,他们甚至会为您提供帮助。
面试完成后,在参加面试的 80 人中,选择了 4 人担任 SDE 角色(幸好我是其中之一),3 人担任数据工程师职位,8 人担任支持工程师职位。