朋友们好,亚马逊最近访问了我们为 SDE 招聘的校园。他们通常是第一个或第二个访问我们校园的公司,几乎没有时间准备。所以最好在暑假里做好准备(阅读 g4g)。
我在为亚马逊做准备时玩得很开心,在面试过程中也很开心。整个过程持续了两天。面试官真的很好,在整个面试过程中我真的感觉很舒服。
让我与你分享我的经验。
第一轮(1 小时 30 分钟)(Apti + 编码):
这是在hackank上进行的在线回合。
从 C/C++/ Java输出、OS、DS、算法等中提出了 20 个问题。
并提出了 2 个编码问题。
Q1)给定一个链表,检查它是否是回文。
Q2)给定一个 NxM 的矩阵,由字母数字字符组成,螺旋打印矩阵。
在这一轮之后,从 250 名学生中选出了大约 30 名学生。
F2F 1:(1 小时 30 分钟)(技术):
这一轮从一些基本问题开始,比如“告诉我关于你自己”和一些关于我的项目的问题。
在问编码问题之后:
Q1)给定一个 NxM 矩阵。
现在考虑其中的一个子矩阵,其左上角坐标为 (x1,y1),右下角坐标为 (x2,y2)。
现在执行了许多查询,其中输入了 (x1,y1) & (x2,y2)。
对于每个查询,我们必须以 O(1) 的时间复杂度找到该子矩阵中元素的总和。
例如:
1 2 3 4
5 6 7 8
9 1 0 2
3 4 1 5
(0,0)-(1,2) : 24
(1,1)-(2,2) : 14
Q2)我们得到了一种外语,我们不知道字母的排列。现在我们按照字典顺序给出了一些外语单词。使用这些单词我们需要找到外语字母的顺序。
Q3)给定了 BST 的前序遍历,我们需要使用给定的遍历创建 BST。
但是我们不能使用中序遍历(即对元素进行排序并使用数组。)
并且我们还需要在预排序列表的单次遍历中创建 BST。
Q4)我们需要使用单指针反转链表。 (换句话说:递归)
他让我写代码来反转。
在这一轮之后,一些学生被选中进行第二轮面试。
幸运的是我也在其中。
F2F 2:(1 小时) (技术):
这一轮还包括编码问题:
Q1)给定一棵树,以锯齿形方式打印树。
https://www.geeksforgeeks.org/level-order-traversal-in-spiral-form/
Q2)给定一个排序数组,我们需要找到值等于其索引值的元素。
他让我用 log(N) 时间复杂度做这件事。
Q3)给定一棵树,现在给定的树是特殊的,因为在这棵树中所有节点只有 1 个指向其父节点的指针。
现在,在这棵树中,我们有任意 2 个节点,我们需要找到它们的最低共同祖先(LCA)。
提示:这个问题类似于 2 个链表的交集。
最后他问我有没有什么问题要问。
感谢 geeksforgeeks 🙂