亚马逊专访 |第 87 组(用于 SDE)
我最近清理了 Amazon SDE 的职位。在我的准备过程中,GeeksforGeeks 发挥了重要作用,这是我在准备阶段 90% 以上的时间都参考/关注的唯一网站。
请在下面找到我对亚马逊的体验。
1 笔试
1)给定一个数字数组,找到每个元素右侧的下一个更大的数字
Example- Input 12 15 22 09 07 02 18 23 27
Output 15 22 27 18 18 18 23 27 -1
2)给定一个链表并输入int K,在K个大小的槽中反转链表
Example Input 12--> 13--> 3--> 20--> 55--> 87--> 20--> 77--> 90 Lets k =3
Output 3--> 13->12--> 87--> 55--> 20--> 90--> 77--> 20
3)给定树和输入int K,打印距离叶子k距离的节点。
输入在树下方,k = 2
输出 2、5、4
2. F2F 第一轮(DS 和 Algo)
小组中有两个面试官,只有一个在问问题,另一个只是观察,他记录了我们之间发生的所有对话,并注意到我提供的方法和解决方案。这在所有面试轮次中都很常见。
1)分别给定一个无限的 O 和 1字符串。您需要找到从 0 到 1 的过渡点。
我在 O(n) 中给出了本机解决方案。他告诉要优化更多。不能对其应用直接二进制搜索,因为字符串是无限的并且没有给出字符串的长度。
我告诉过我会将字符串分成 10 个大小的插槽,这将降低复杂性。他仍然告诉要优化更多。我告诉过我会以 2 的幂为单位增加插槽大小,例如 2、4、8、16、32。他对此很满意。
他通过添加现在我的字符串按排序顺序包含 0、1、2 再次使其复杂化。您需要找到从 0 到 1 和 1 到 2 的过渡点。我提供了方法。
在那之后告诉这次我想让它通用。字符串可以包含 0 到 n(input) 个数字来查找所有转换点。我解决了,他对方法很满意,并告诉我为它编写代码。
2)从两个有序数组中找出共同元素
3. 第二次 F2F(DS 和算法)
1)我破解有点困难,她说从Java克隆问,这是我的弱点。给定一个包含字符串名称和对朋友的引用的类,如下所示。
Class A {
A(String str, Person P { //Constructor
this. name = str;
this.friend= P ;
}
// override
Clone() {
// code for this function was expected from me
// which can produce the deep copy
}
}
假设 A–>B–>C–>D 表示 A 是 B 的朋友,B 是 C 的朋友,依此类推。
调用一次 Clone 方法将克隆整个朋友列表,例如
A'–>B'–>C'–>D'(其中 A' 是 A 的克隆)。
破解这对我来说真的很难,因为我不熟悉这些问题。
2)如何从单链表中找到最后第n个元素,这对我来说很容易。
在 2 分钟内解决并快速编写代码。
3)给定一个由数字、值 K 和值 X 组成的排序数组,找到最接近该值的 K 个数字
示例:输入 12 16 22 30 35 39 42 45 48 50 53 55 56 K = 4 X = 35
输出 22 30 39 42
面试官的时间不多了,因为第一个问题花了很多时间。所以她告诉只告诉方法,代码不是预期的。
4.第三F2F(酒吧提升者)
5. Forth f2f round(OOPS、设计模式和操作系统基础)
6. Fifth f2f (招聘经理)
给所有人的信息:-
亚马逊期望代码准确、精确、复杂性更低。所以首先和你的面试官讨论方法。不要跳入代码。
即使您不知道正确的答案,也要继续讨论解决问题的各种可能性,并尝试从不同的角度破解该问题。练习越来越多的真实性问题。
很多很多的祝贺作者。如果您喜欢 GeeksforGeeks 并愿意做出贡献,您还可以撰写文章并将您的文章邮寄至 review-team@geeksforgeeks.org。在 GeeksforGeeks 主页上查看您的文章并帮助其他 Geeks。
亚马逊的所有练习题!