📜  SDE-2 的亚马逊面试体验

📅  最后修改于: 2022-05-13 01:58:34.729000             🧑  作者: Mango

SDE-2 的亚马逊面试体验

第1轮:

时间:1小时

  1. 自我介绍。
  2. 在我现在的公司中的角色和责任。
  3. 您如何编写代码(先编写代码然后测试用例或先编写测试用例然后编写代码)。

然后面试官分享了一个谷歌文档,并要求只在该文档上编写代码和逻辑。

  1. 简单的基于二叉树的问题。
  2. 第二个问题也是基于二叉树的。编写完整的代码并要求我执行一些给定的测试用例。
  3. LRU 缓存。再次带有测试用例的完整代码。
  4. 还有一些时间,所以他让我为第二个问题提供另一种方法。

接到海得拉巴的现场电话。

在所有这些回合中,面试官都会随身携带一台笔记本电脑,并继续写下反馈。

第 2 轮:

基于项目的讨论:

  1. 自我介绍。
  2. 解释你当前项目的工作。把它画在黑板上。
  3. 基于项目的讨论:
    1. 你有没有在团队中发生过任何冲突。
    2. 你有没有和你的经理意见相左。
    3. 您是否曾经提出过您的解决方案并实现了它。
    4. 您是否曾经提出过您的解决方案但无法实现。
    5. 你如何覆盖你的代码并确保它经过全面测试。
    6. 您是否进行了任何更改以使系统更高效。

第三轮:

编码轮

  1. 自我介绍。你做过什么项目。
  2. 提出的问题更多是基于竞争性编程的问题。
  3. 我不完全记得,但这是有无数学生的事情,我必须选择首先给出唯一答案的学生。
  4. 我提出了一个解决方案。它会正常工作。
  5. 然后要求进一步优化它。我给出了另一个解决方案,他对解决方案很满意,并要求我为其编写代码。

第四轮:

编码回合:提高标准回合

  1. 自我介绍。你的回合进展如何。
  2. 给定一个整数数组和 k 个交换数,创建可能的最大数。
  3. 你如何编写测试用例。在编写代码之前编写所有测试用例,包括尽可能多的边缘用例。
  4. 提出了解决方案。再次进一步优化它。

第五轮:

高级系统设计回合

  1. 自我介绍。
  2. 设计一家杂货店,它将在后端使用 Kroger 的库存(第三方库存),但在前端,客户只能看到亚马逊。

第六轮:

低级系统设计回合

  1. 给了我一张纸,上面写了一些代码,让我找出错误。然后让我建议它应该如何写。所有缺少的然后添加它。
  2. 设计自动售货机。 (状态设计模式)
  3. 为上述内容编写用例,然后在纸上编写完整的工作代码。