📜  亚马逊面试经历 | SDE-1 校内

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

亚马逊面试经历 | SDE-1 校内

第一轮是在线测试,包括 2 个编码问题和 28 个关于 mettl 的 MCQ。编码问题的级别从简单到中等不等。每个人都有不同的编码问题。我记得的很少有:

1.数组中的反转计数

2. 后缀求值(也处理负数)

3. 数组中的平均中位数模式

4.掷骰子拼图(DP)

5.二次方程的根

6.一元线性方程

7.最长公共子序列

8.评估中缀操作(也处理负数)

MCQ 很困难,需要深入了解 DSA 和 C C++。

在大约 350 名学生中,有 53 名被邀请参加面试。

第1轮:

面试持续了25分钟,就2个问题进行了深入讨论。他直接从编码问题开始。

  1. 给定一个字符串对其进行编码。例如。 aaabb -> a3b2
  2. 有 n 个人,给出了他们的身高和体重。您必须选择可以站在队列中的最大人数,条件是队列中人员的身高和体重将始终小于或等于下一个人。您必须返回人员而不是计数。 (LIS)

这一轮很顺利,我立即被要求参加下一轮。

第 2 轮:

这一轮持续了30分钟。

  1. 给定 k 个大小为 n 的数组。您必须从每个数字中选择一个数字,以使它们之间的差异最小。最初问题是 3 个数组,我很快告诉他解决方案,然后他将其更改为 k。
  2. 实现 AVL。
  3. 关于设计数据结构的问题我不记得了。我为此使用了哈希。他问我关于哈希最差时间复杂度的问题,以及改进它的想法。
  4. 关于 trie 的一个问题。
  5. 整数流的中位数。
  6. 给定一个范围为 1-n-2 的 n 个整数数组,其中每个整数出现一次,两个整数出现两次,找到它们。

我必须为每个问题编写代码。这次面试也很顺利,马上就被叫到下一轮了。

第三轮:

这一轮进行了90分钟。这与前两次不同。这更像是一轮讨论。

  1. 项目讨论。
  2. 带更新的范围求和查询。我告诉他前缀总和。他想要更好的方法。我告诉他分段树。
  3. 然后他以最佳优化的方式询问范围更新。我告诉他懒惰的传播。我不得不用惰性传播为段树编写代码。
  4. 1小时网络讨论。 (我告诉他我没有修改,但他一直在问)

这一轮也很顺利。在网络中,他在我需要时提供了一些输入。由于已经很晚了,我的下一轮安排在第二天。

第四轮(酒吧提升者)

这一轮进行了大约1个小时。

  1. 通配符模式匹配。我讨论了所有极端情况和基本情况以及递归关系。他让我在自下而上的 dp 中编写代码。他对我的解决方案非常满意。
  2. 设计一个运行字符串流的数据结构。如果一个单词在 10 秒内没有出现,您必须打印它,否则忽略它。您必须以最佳方式管理内存。我讨论了使用 trie、hash、lru 的 varios 方法。当我用队列和哈希告诉他我的解决方案时,他很惊讶并告诉我他没有想到那个解决方案。他让我写代码。
  3. 项目讨论。
  4. oops- 编译器如何实现抽象类。当我告诉他解决方案时,他说的很棒。

我很确定我的选择,因为我看过我的评论表,我的所有评论都是实力,除了第三轮的cs基本是混合的,第四轮也很好。

结果在上午 12:30 宣布,共有 9 人被选为 FTE,我是其中之一。