我参加了一所大学的撞球比赛, 来自不同大学的学生在场。
共进行了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个不同学院的采访。
技术回合1:
面试官首先询问我所做的项目。我解释了我最近做的项目。然后, 他开始问有关我项目中某些事情的实现的问题。我被要求编写数据库模式, 即我在Web应用程序中使用的查询。我在Android应用程序中使用了Firebase数据库。他问了几个有关Firebase中数据的存储和检索的问题, 以及SQL和NoSQL数据库之间的区别以及哪个是最优选的。我回答了他们。
然后, 他问了一些有关Web浏览器中缓存的问题, 并在我的C编译器项目中编写了代码。有关我的项目的问题持续了45分钟。
然后给了我一个简单的编码问题。
- 在数字是连续的但未排序的数组中查找丢失的数字。
我解释了我的两种方法。然后, 他要求我为此编写代码(除非面试官另有说明, 否则你可以自由用任何语言编写代码)。
在第一轮技术比赛后, 大约有30人入围了第二轮技术比赛。
技术回合2:
这完全是编码回合。他针对所有问题提出了最佳解决方案, 并编写了代码。
问题是:
- 找到2个链表的交点。
- 打印二叉树的右视图。
- 给定一个从0开始, 到1结束的湖泊以及成对的液滴列表(x, r), 其中x是液滴落在湖上的点, r是由于该液滴在湖中引起的波纹半径。找到用涟漪覆盖整个湖泊所需的最小水滴数。
亚马逊的面试官真的很放松, 你可以与他们自由互动。如果你在任何地方都无法回答他们的问题, 他们甚至会为你提供帮助。
访谈完成后, 在参加访谈的80位参与者中, 有4位被选为SDE角色(幸运的是我是其中之一), 3位是数据工程师角色, 8位是支持工程师角色。