📜  SDE-2 的亚马逊面试体验 | 4年经验

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

虚拟访谈

我通过 LinkedIn 接到了一位亚马逊招聘人员的电话。她给我发送了编码测试链接,我必须在一周内完成。考试结束后,我接到电话安排面试。所有面试均按计划在 Amazon Chime 上进行。
整个过程花了1个月的时间来完成测试和面试。
以下是被问到的问题:

HackerRank 测试(90 分钟在线测试)
1. 购物选择:我们得到了一份裤子、衬衫、鞋子、裙子清单的费用。我们有一定数量的现金,我们需要确定我们可以购买的可能组合的总数,因为我们必须购买一种并且每种类型只能购买一种。

Eg: pants=[3, 5, 7], shirts = [4, 7, 8],
skirts = [5, 8], shoes = [3], budget = 25

所以在上面的例子中,除了组合 [7, 8, 8, 3] 之外,所有其他都是可能的。

提示:由于我们必须全部购买,我们可以将前两个列表和后两个列表结合起来,因此我们将有像pants_shirts = […] 和

Skirts_shoes = […],现在我们可以遍历一个列表,并在另一个列表上二分搜索剩余数量并相应地添加。

2. 存储优化:亚马逊正在为其仓库试验灵活的存储系统。存储单元由一个一米深的搁架系统组成,带有可拆卸的垂直和水平分隔器。安装所有分离器后,每个存储空间为一立方米(1*1*1)。确定去除一系列水平和垂直分隔符时最大空间的体积。

n = 6
m = 6;
h = [4]
v = [2]

第 1 轮(解决问题):50 分钟

第一轮由一位居住在美国的软件工程师经理进行。他介绍了自己,然后问了一些关于亚马逊领导力原则的问题。
然后问了一个解决问题的问题。给定一个单词列表,返回一个单词映射,该映射可以通过使用同一列表中存在的其他单词形成。他只问了一个解决问题的问题。最关注的是领导原则。

第 2 轮(解决问题):50 分钟

第二轮是由同样在美国的 SDE3 人进行的。他自我介绍,然后问了一些关于亚马逊领导力原则的问题。

他还只问了我一个问题解决问题。

给定一个整数数组,返回一个新数组,使得新数组索引 i 处的每个元素都是原始数组中除 i 处的数字之外的所有数字的乘积。

我通过将完整数组相乘然后将每个索引项除以完整和来解决它。

然后他让我不要使用除法。能够在 O(n) 时间复杂度内完成

https://www.geeksforgeeks.org/a-product-array-puzzle/

第 3 轮(系统设计):1 小时 10 分钟

第三轮是系统设计轮,由高级工程师经理负责。

他介绍了自己和他正在招聘的团队。他问了一些与亚马逊领导原则相关的问题。

他让我设计一个分布式调度器,它应该适用于所有类型的客户端(人类、机器 {API})。
他让我实现的主要功能是安排工作并在设定的时间提醒客户有关工作的信息。

  • 主要是高级设计,
  • 更多关于可扩展性、可用性、容错性和弹性的问题。
  • 确保所有工作都能正常工作。
  • 系统将如何在高峰时间工作。
  • 用户通知的时间范围应该是多少?

第 4 轮(Bar-Raiser):1 小时 25 分钟

第四轮是杠铃轮。这一轮有2个面试官在场。其中一位是高级软件开发经理,另一位是技术项目经理。 (其中之一是阴影)

从介绍开始。

他问了一些与亚马逊领导原则相关的问题。

设计一个在线书店。

期望 :

  1. 函数需求(说明)
  2. 非函数需求(说明)
  3. 领域对象
  4. 高级组件(完整服务、缓存、搜索、消息代理、数据库、服务交互)
  5. 服务依赖与责任
  6. 数据流
  7. 蜜蜂
  8. 实体关系
  9. 数据库架构
  10. 可扩展性
  11. 分销和管理

他用 STAR(情况、任务、行动、结果)流程问了我更多亚马逊领导力原则问题。

注意

在每一轮亚马逊领导原则问题被问到。所以也不要忘记为他们做好准备。
人力资源部在每次面试前都会打电话,告诉他们这一轮的进展情况以及最关注哪些方面的原则。