亚马逊面试经验分享|S21

2021年3月23日14:42:15 发表评论 808 次浏览

最近, 我经历了我的梦想公司Amazon针对SDE1进行的10轮采访, 我被选中。我唯一准备的资源和库是lsbin, 这是进行技术准备的最佳网站, 如果你的目标是大人物, 例如亚马逊, 微软等, 那么我不太有信心参加采访。面试经历博客给了我勇气和编码经验, 使他们能够全面学习。请务必关注此网站以获取每次更新, 并建议你的朋友在尝试换工作以及针对大公司时遵循。

我正在分享我的面试经验, 这将对其他人有所帮助。

总回合数:10

1个在线笔试+ 4个电话+ 5个F2F筛选回合。

在F2F轮次中, 对于每个问题, 都需要完整的可执行代码+算法

在所有回合中, 都将期望最好的解决方案(降低复杂度)

在线笔试:

1.查找数组中的最大频繁数。如果有更多具有最大频率的数字, 它们将按升序显示所有数字。升序很重要。

2.两个数字表示为链表。 (大于整数)。

返回一个链表, 它是给定两个链表的乘积

.

1-> 2-> 3->空(123)

2-> 3-空(23)

O / P:2-> 8-> 2-> 9-> Null

第一次电话筛选(45分钟):

1.

查找在其中具有圆圈的链表, 如果包含循环, 则查找循环的原点。

2.

在"链表"中, "节点"有两个指针, 一个指向链表中的下一个节点, 另一个指向链表中的任意节点。编写一个函数以返回一个新列表, 该列表是给定链接列表的克隆。

3.

将数组排序并旋转k次。在数组中查找元素。

(需要高效, 对数的时间解决方案)

第二次电话筛选(45分钟):

1.

给出两个字符串s1, s2作为输入。删除s2中存在于s1中的字符。

2.如何查找集合中的子集数量。

3.

搜索二维矩阵中按行和列排序的元素。

1 2 3 4

2 3 4 5

3 4 5 6

4 5 6 7

5 6 7 8在其中找到一个元素。

4.区别合并排序和快速排序。你如何改善快速排序(考虑选择枢轴元素)。

5.给出在最坏情况下快速排序的方案。

6.如何在内存中存储集合, 我们使用什么ADT以及每个ADT的权衡取舍。

第三次电话筛选(35分钟):

1.

N-汽油铺位问题

:一个圆圈中有n个汽油铺位。我们有一辆每1升行驶1公里的卡车(行驶里程1kmpl)。给出了两个数组。汽油铺位之间的距离以一排给出。其他阵列包含每个汽油铺位可用的公升数。我们必须找到一个起点, 这样, 如果我们从该点开始, 你将能够访问整个圈子而不会用尽燃料。最初卡车没有燃料。

2.

大小为k的组中的反向链接列表。

I / P:1-> 2-> 3-> 4-> 5-> 6-> 7-> 8->空k = 3

O / P:3-> 2-> 1-> 6-> 5-> 4-> 8-> 7-> Null

第四轮(35分钟)

1.构造给定树的算法

为了

遍历。

2.一棵树的有序继承者。

3.线程二叉树(无递归顺序)

F2F第一轮(聘用经理至少60分钟):

1.介绍一下你自己以及你从事的项目。

2.关于你所经历的项目中最关键的情况。你是怎么做到的。 (他需要对该场景进行完整的说明)

3.如果他给出与面试问题相同的场景, 你将如何提高代码质量及其复杂性。

4.关于SDLC, 你关注了。你喜欢哪一个, 为什么。

5.你有任何问题要问吗(非常重要的一个问题-有关他们正在开展的项目的问题, 等等。好兆头)

F2F第二轮(与开发人员互动60分钟):

1.跟我说说你自己。

2.二叉树的锯齿形遍历。(最好的解决方案是你的期望)。应编写完整的代码, 稍后将进行检查。

3.在2D空间中有一个机器人, 该机器人可以向左移动。给定一个数组, 该数组是机器人的动作, 它从origin(0, 0)开始。找到它覆盖的矩形。

I / P:{2, 3, 4, 5, 6, 1, 3, 5, 5}从(0, 0)开始

O / P:矩形点:(-4, 4)至(4, -2)

4.关于招聘过程的随意讨论。

F2F第三轮(与开发人员互动50分钟):

1.在O(1)时间中执行插入, 删除最新项, 查找最小值, 查找最大值的数据结构。 (给了哈希, 2-D, 链表, 很多..他在这里给人留下了深刻的印象)

2.一棵树的垂直总和。(按列求和–可以在lsbin中找到相同的值)

3.在连续排序的数据流中找到第n个数字。

I / P:{1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, 5, 1, 6 , 1, 7, 1, 8 ...……无限} n = 28

O / P:第28位

以上所有方面的复杂性分析。

F2F第4轮(与开发人员互动45分钟):

1.

螺旋打印矩阵。

1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

16 17 18 19 20

21 22 23 24 25

O / P:1 2 3 4 5 10 15 20 25 24 23 22 21 16 11 6 6 8 9 14 19 18 17 12 13 18

2.编写一个函数来检查大括号的语法是否正确。

3.同样的问题, 如果你有k种大括号(‘(’[['‘{’, .... K种)都具有相同的优先级。

4.同样的问题, 如果你有k种大括号(‘(’[['‘{’, .... K类型)全部都是差异优先级。

5.打印k对大括号的所有有效组合。

6.返回上述组合的计数, 而不使用打印算法。

7.记忆化–你知道吗?请解释一下。

F2F第五回合(Bar Raiser回合)60分钟:

1.领导者原则, 亚马逊遵循

2.关于项目。

3.为什么要离开上一家公司, 什么会阻止你到那里。

4.一组字符串以字典顺序给出。这里的问题是顺序不是我们的字母顺序。可能会有所不同。 C可能早于a, b, x可能早于d, c。等等。你将必须使用给定的输入来查找字符的顺序。 (拓扑排序–需要完整的代码才能编写)

5.二叉搜索树成排序双链表(预期的就地算法)

注意事项:

1.对于每个问题, 请先给出一个简单的解决方案(可能会增加时间复杂度), 然后考虑寻求最佳解决方案。

2.清晰地编写代码。没有你的解释, 它应该是可以理解的。

3.可以告诉你要编写的代码的复杂性。

4.首先告诉算法或方法, 然后继续编写代码。

5.不要犹豫, 要求澄清。他们会留下深刻的印象。

这就是我的全部。祝你好运。

再次感谢lsbin, 这是一个深受技术人员欢迎的网站。

亚马逊的所有练习题

!

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: