亚马逊面试经历 | SDE(校园内)
亚马逊来到我们的校园 (BIT Mesra) 聘请 FTE 和 6 个月的实习生。
在线轮:第一轮是在线轮,包括 30 个问题——2 个编码问题和 28 个基于 C、C++、基本网络的 mcq 问题。测试在mettl平台上进行。每个人都有不同的问题。一些问题是:
- LCS
- 一些字符串实现问题
- 掷骰子问题
- 二次方程的根。
本轮结束后,有30人入围了进一步的轮次。
Round 1 (Technical Round) :前15-20分钟用于项目讨论,一些案例的解决和流程同步的使用。然后面试官问了2个编码问题:
- https://www.geeksforgeeks.org/print-nodes-distance-k-given-node-binary-tree/
- https://www.geeksforgeeks.org/function-to-check-if-a-singly-linked-list-is-palindrome/
最初,他们想了解这种方法,如果满意,他们会要求在纸上编写完整的功能代码。在此期间,他们询问了算法的复杂性以及可以对其进行的更多优化。
第 2 轮(技术轮):面试官提出 2 个编码问题:
- 在给定的有根树中找到具有最大深度的节点的 LCA(最小公共祖先)。他询问了要使用的方法、复杂性和数据结构。在这期间,他问了一些常见的问题,例如 dfs、bfs、dijkstra(以 E 和 V 表示)的时间和空间复杂度。
- 在最后 15 分钟,他让我使用两个堆栈来实现队列。
他让我把这两个问题都写在纸上。处理偏斜树、空堆栈等极端情况。
这一轮结束后,我们中的 12 人获得了 6 个月的实习机会。我们中有 3 人入围了进一步的轮次。
第 3 轮(技术轮):面试官问了我 3 个编码问题:
- https://www.geeksforgeeks.org/perfect-sum-problem-print-subsets-given-sum/
- 给定一个字符串列表和一个前缀。他要求打印列表中具有该前缀的所有字符串。他问使用什么数据结构,它的时间和空间复杂度。他基本上想看看在 trie 上执行操作。
- https://www.geeksforgeeks.org/given-sorted-array-number-x-find-pair-array-whose-sum-closest-x/
第 4 轮(行为+ 技术):这一轮是在 amazon chime 上进行的。这一轮是1小时。
行为(30 分钟):
- 举一个例子,说明你做了一件对你来说非常困难的事情。
- 您是如何处理项目中的缺陷的。
- 将您的项目与现实世界场景中当前现有的技术或项目进行比较。
- 他问了与我的项目相关的问题,比如你为什么选择这项技术、技术的替代方案、垂直和水平缩放之间的区别等。
技术(30 分钟):
- 给定一个包和与其关联的包列表(意味着包依赖于这些包列表)。现在,给你一个包名,比如说 A,按顺序打印你需要安装的所有包,以便安装包 A 。这基本上是拓扑排序的实现。他对这种方法更感兴趣,然后让我在 editor 上编写代码。
结果 : 选择 FTE 🙂