亚马逊面试经历 |校内实习
第 1 轮:(在线评估 - 2 小时)
在线评估由 4 部分组成。第一部分我们必须在 15 分钟内调试 7 个代码。第二部分包括 24 道逻辑推理题,必须在 35 分钟内完成。第三部分包括 2 道编码题,必须70分钟内完成。调试部分和逻辑推理问题非常简单。
2个编码问题是
1: https://www.geeksforgeeks.org/pair-with-largest-sum-which-is-less-than-k-in-the-array/。我通过首先对数组进行排序然后使用二进制搜索在 O(nlogn) 中完成了它。具有 O(n^2) 时间复杂度的解决方案也被接受。
2: https://www.geeksforgeeks.org/program-round-robin-scheduling-set-1/ 。第二个问题是在Round Robin调度中找出进程的平均等待时间。使用Queue可以轻松完成数据结构。
在第四部分,我们被提出了一些关于职业道德的问题,这些问题要诚实地回答并具有一定的分量。一些同时完成了编码问题但没有认真回答这些问题的学生没有进入下一轮的候选名单,仔细回答了这部分,只做了一个编码问题入围。
在线比赛非常简单,我已经完成了两个编码问题。
在大约 250 名学生中,有 52 名入围了下一轮。
第 2 轮:(面对面面试 - 1 小时)
这一轮首先对我的项目进行了简短的讨论,面试官询问了我在其中使用的算法。然后他问了我 2 个编码问题
1: https://techdevguide.withgoogle.com/resources/compress-decompression/。问题是解压缩压缩字符串。我用一堆字符串解决了它。然后他让我在纸上编写我的方法,以便所有涵盖了极端案例。然后他给了我 2 或 3 个测试用例,并要求我在这些测试用例上空运行我的代码。我的方法给他留下了深刻的印象。
2: https://www.geeksforgeeks.org/topological-sorting/ 。然后他又问了我一个问题,是拓扑排序在有向无环图中的应用,并要求我在纸上编写拓扑排序算法。
然后他问我是否对计算机网络感兴趣。我说CN不是我最喜欢的科目之一,我最喜欢的科目是OS和DBMS。然后他开始向OS和DBMS提问。
他询问了 DBMS 中使用的数据结构、DBMS 中的索引概念、B 树中的插入、ACID 属性以及 OS 中线程和进程之间的区别。他对我所有的答案都很满意,因为我准备了所有核心 CS 科目面试。
在所有这些之后,他问我是否有任何问题要问他,采访结束了。
我对自己的表现非常满意,并对自己的选择充满信心。
在 52 名入围学生中,有 14 人被选中参加暑期实习,我就是其中之一。
我要感谢 Geeks for Geeks,这在我准备面试的过程中提供了很大的帮助。