亚马逊面试经历 |设置 394(校内全职)
亚马逊于 2017 年 8 月访问了我的校园。除了在线筛选轮次,还有 4 轮技术轮次——3 轮 F2F 和 1 轮电话。
在线回合在 HackerEarth 平台进行。它有 20 道 1 分和 0.25 负分的 MCQ 和 2 道每道 10 分的编码问题。 MCQ 主要来自数据结构和操作系统,很少有来自网络、DBMS 和 1 个Java问题的问题。
第1轮:
这一轮,面试官没看我的简历,直接说技术问题。
1. 给定一个整数先升后降的数组,你必须在 O(log n) 中搜索一个元素。
2. 给定 BST 有 2 个节点相互交换,找到这 2 个节点。
3. 使用迭代和递归两种方式反向单链表。
第 2 轮:
面试官让我自我介绍,然后详细解释一个具体的项目(由他指点)。然后他问了我4个问题。
1.给定整数矩阵,必须找到总连通分量,以这样的方式连接,相邻数字的绝对差应为1。
2. 查找数组中每个元素的下一个更大的元素
3. 给定一个边权重为 1 或 2 的图,必须找到源顶点和目标顶点之间的最小距离。
4.给定具有整数的数组显示进程的突发时间,我有 3 个线程来完成所有进程,一个线程需要精确的时间来完成一个等于它的突发时间的进程,我必须为线程分配一些连续的进程,以便最大在所有线程的总时间中最小。
示例:9 10 9 8 7 9 然后可以将 3 个线程分配为 (9 10)、(9 8)、(7 9)。
由于我必须编写前 3 个代码,面试官可能注意到我很累,他只问了我第 4 个的算法。
第三轮:
在这里,面试官先自我介绍,然后问我,然后告诉我解释我的任何一个项目。之后她问了我几个基本的计算机科学问题,然后是 2 个 DS/Algo 问题。
1. 编译器如何处理递归和迭代。
2. 链表和数组存储在内存中有何不同。
3. 多处理和多线程的区别。
4. DBMS 中的所有范式。