📜  亚马逊 SDE-2 面试经历

📅  最后修改于: 2021-09-23 05:18:37             🧑  作者: Mango

第 1 轮(电话)

第一轮包括3个问题:

  1. 有n个不同重量的球,我们需要把所有的球都融化成一个新的大球。熔化两个球的成本等于它们的重量之和。我们需要以最低的成本融化这些球。

    例如,如果给我们 4 个重量分别为 4、3、2 和 6 的球。我们可以通过以下方式融化这些球。
    1) 首先熔化重量为 2 和 3 的球。现在我们有三个重量为 4、6 和 5 的球。
    2) 现在融化重量为 4 和 5 的球。现在我们有两个重量为 6 和 9 的球。
    3)最后将两个球融化,所有的球都融化成一个大球。
    熔化所有球的总成本为 5 + 9 + 15 = 29
    这是极客上连接绳索问题的变体:https:绳索的最低成本

  2. 在无限的整数流中找到 k 个最大/最小的元素。流中的元素可以按任何顺序排列。
    流中第 K 个最大元素
    第 K 个最小元素

第 2 轮(F2F 第 1 轮)

  1. 克隆带有下一个和随机指针的链表
    工作代码应该在纸上。我们讨论了许多解决问题的方法。他从中挑选了一个,并要求我编写一个生产就绪代码。他对代码很满意,没有问其他问题就离开了😀

提示:- 花点时间仔细考虑您将要编写的代码。大声思考!!在实际代码之前编写一个粗略的伪代码,以便您了解将需要的所有变量并保持代码的模块化。在边缘情况下干运行代码。

第 3 轮(F2F 第 2 轮)

1) 玩家可以参加比赛的系统的 LLD。一场比赛在 2 名球员之间进行。假设您有足够的 2^k 注册玩家准备参加锦标赛。比赛流程:
玩家 1 和 2 一个接一个地掷骰子,每个玩家都有一次机会。有一个裁判也在两个玩家之后掷骰子,他和两个玩家计算骰子上的数字之间的绝对差。与裁判得分相差最小的球员赢得比赛。如果平局,则裁判选择掷硬币,两名玩家可以选择一张脸,并决定获胜者。
2-3 个行为问题。
我搞砸了这次采访。我创造了一个普通的设计。他似乎对此并不高兴。
小贴士:不要气馁。您将获得另外两轮设计来完成这个过程。

第 4 轮(F2F 第 3 轮)
1)本轮面试有两次。他们让我设计一个电影评论聚合系统。数据应从电影分级提供商处获取,如 imdb、烂番茄等
如果电影评级提供者的可靠性下降/上升,或者您删除一个提供者或添加一个新的提供者,我们就您可能面临的问题进行了很多讨论。例如,在您的评级计算中,您认为 imdb 比烂番茄更可靠(某些因素)。您将如何保留数据。您将如何执行搜索。是 NRT 数据还是您将离线进行数据处理。您如何对电影列表进行排名。讨论了很多因素,我们最终得到了一个很好的设计。两次面试看起来都很愉快。

小贴士:如果有任何一轮达到平均水平甚至低于平均水平,请不要失去冷静。他们会告诉您设计中非常真实的缺点,您需要改进设计。这就是他们正在寻找的。

第 5 轮(F2F 第 4 轮)招聘经理
1) 总共有 10-15 个行为问题来检查候选人对亚马逊领导原则的一致性。进入亚马逊是必须的。
使用 STAR(情况、任务、行动和结果)方法来回答这些问题中的每一个。
例如。 xxx当时的情况。 yyy 是您确定的任务。你执行了任务。 zzz 是结果。

2)有kindle这样的设备,可以买书看书。您可以在其他设备上使用 Kindle 应用程序阅读相同的内容,也可以在手机、标签等上阅读。这有问题,他需要一个设计来解决这个问题。问题是假设我正在阅读一本 xyz 书并且我在特定页面上,比如说 60。现在我关闭了设备上的应用程序,并在其他设备上打开了同一本书。应该在我在另一台设备上离开的地方打开同一页面。您将如何处理用户离线时执行的操作。很多关于这个的讨论。
他对设计非常满意。我使用网站用于在线协作的操作转换(如 google doc、collabedit 等)解决了这个问题。