Amazon WoW 是一项计划,旨在让女学生在最后一年或最后一年有机会以实习生或全职员工的身份在亚马逊工作。流程从在亚马逊魔兽世界网站填写申请开始,在申请中提交大学、分校、简历等基本信息。几天后根据简历发送了关于第一轮测试的邮件。
测试包括 28 个 MCQ(C++、数据结构等)和 2 个中级编码问题。
我能够解决两个编码问题,所以我通过了第一轮测试。
第一轮技术面试:
采访是在线进行的,并在 Amazon Chime 平台上进行。采访从我的介绍开始,然后是他的介绍。在此之后,他直接进入了编码问题。
我被问到 2 个编码问题:
- 给定一个包含 n 个节点和 e 个边的图。
找出必须添加到图中以使其强连接的最小边数。
例子:
n=4,e=2
[1,2]
[3,4]
输出: 1
这里 1->2 和 3->4 是连通的,以使其强连通,我们需要加入 1->4 或 2->4 或 3->1 或 2->3
方法:这可以通过使用 DFS 查找强连接组件的数量来完成。如果有 N 个强连接组件,那么必须添加到图中以使其强连接的最小边数将为 N-1。
2. 最小路径和
我被要求在编写代码之前说出时间复杂度。 (我喜欢的语言的干净代码)
第二轮技术面试:
采访从我的介绍开始,然后是他的介绍。在此之后,他直接进入了编码问题。
我被问到 2 个编码问题:
- 展平链表
- 合并 k 个排序数组(优先队列方法)
还做了一些关于优先队列插入时间复杂度的讨论。
第三轮技术面试:
通常亚马逊实习只有两轮,但有时如果他们没有足够的候选人数据点,他们会进行额外的一轮。
所以我进行了第 3 轮。
这一轮他问我:
- 将排序的链表转换为平衡的 BST
- 一种用于搜索、插入和删除的高效数据结构。
对第二个问题进行了大量讨论。他对Hashing方法很满意。
最后问了几个DS,CN,OS问题。
判决:选择
知道如何计算时间复杂度很重要。在整个过程中保持自信、冷静和专注会增加你通过面试的机会。
破解面试的秘诀是永不放弃。
从 GeeksForGeeks、LeetCode 和任何其他您熟悉的编码平台练习。