📜  亚马逊6个月实习面试经验

📅  最后修改于: 2021-11-16 07:29:36             🧑  作者: Mango

亚马逊访问了我们的校园 (MNIT JAIPUR) 进行了 6 个月的暑期实习计划。符合条件的分支机构是 CS、EE 和 ECE。

第 1 轮:在线评估由 4 个部分组成,在 AMCAT 平台上进行。

代码调试: 7 题 C/C++/ Java (20 分钟)

编码: 2 个问题(70 分钟)

  1. 合并两个已排序的链表
  2. 检查一棵二叉树是否是另一棵二叉树的子树

工作方式评估: (20 分钟)

推理能力: 24 题(35 分钟)

技术第一轮(90分钟):首先,面试官让我做自我介绍。然后他直接跳到编码问题。

1.) 使用 STL 的运行整数流的中位数

最初,我告诉他使用插入排序的蛮力方法,向他解释了它的复杂性。然后他告诉我优化它,我给了他使用 min_heap 和 max_heap 的解决方案。他似乎很满意,并告诉我编码。

2)他给了我一棵树,让我打印它的不同视图。他说你有一个固定的时间(30 分钟),必须编写这种方法。

  • 左视图
  • 右视图
  • 顶视图
  • 反向俯视图

3) 实施细则

  • LRU缓存
  • LFU缓存
  • LRU缓存和LFU缓存的混合

然后他跳转到操作系统,问我关于分页、缓存以及缓存的好处。

Technical Round 2(50 分钟):正式介绍后,面试官直接跳转到编码问题:-

给我一个公司的情况,其中有一个经理层级。经理可以有不同数量的员工在他手下工作。现在,该员工可以拥有不同数量的在该员工手下工作的员工。这可以达到任何级别。

他让我找两个工人中最年轻的普通经理。

解决方案:基本上是在n-array Tree中找到共同祖先的问题。首先我创建了一个 n 数组树,然后给了他 2 种方法

  • 使用递归
  • 首先,找到从根到该工作线程的路径,然后比较路径并检查第一个不匹配节点之前的节点。

2)如何找到按字典顺序排列的先前排列?

3) 使用最多 k 笔交易的最大利润

https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iv/

我给了他两个解决方案,第一个是使用递归和自顶向下的方法,第二个是使用底部的方法。

最后,10天后公布结果,选了两名学生进行实习。我就是其中之一。

感谢 Geeksforgeeks 帮助我准备面试。