📜  Amazon SDE 面试经验 |在校园 2019

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

Amazon SDE 面试经验 |在校园 2019

第1轮:

第一轮是在线编码轮。在 90 分钟内解决了 2 个编码问题和 28 个技术 mcq。我的编码问题是:-

  1. 有 n 个装有苹果的篮子。输入由一个给定的数组组成,该数组表示每个篮子中的苹果数。找出最少要移动的苹果数,以使没有。每个篮子里的苹果数量相等。
  2. 给出一个字符串作为输入。 url 有一种特定的格式。您必须将给定的字符串转换为 url。我不完全记得 mcq,但它们都是关于 C 和 C++ 中的数据结构和输出问题的。我解决了两个编码问题。大约 300 人参加了在线比赛,其中 24 人入围。我的朋友们提出的一些问题是:- 求反转计数、评估后缀表达式、掷骰子、最小混乱、总解码消息等。

第 2 轮:

这是一次面对面的采访。面试以正常的问题开始,然后他说现在我们将进行一些编码。他问的第一个问题是,有酒店,有预订。预订类由用户 ID、入住日期和退房日期组成。找出酒店中用户最多的日期。他在论文中写了函数头并给了我。然后他告诉他一种方法,即维护一个以索引为天数的数组。然后他说要优化空间复杂度。然后我告诉他一个使用排序的解决方案。他很满意。他让我写代码。

他问的下一个问题是,给定一棵二叉树,它还有一个指针,称为父指针,它指向父节点。现在给定树的任何节点,找到它的第一个兄弟节点。我先告诉他我的方法,他说我太模块化了。然后我为此编写了一个递归函数。然后我们讨论了一些边缘情况。我错过了一个我无法弄清楚的边缘案例。但他很满意,他问我时间复杂度,一轮就结束了。

https://www.geeksforgeeks.org/find-right-sibling-binary-tree-parent-pointers/

第三轮:

第 3 轮从对我的实习的描述开始。他问了我几个关于它的问题,比如你使用了什么技术。然后他问我在操作系统方面有多好。我说我不太好。然后他向我解释了操作系统的重要性。我耐心地听他讲。然后他告诉我写代码来绘制一个给定半径的圆,并假设中心为 0, 0。我告诉他一个使用 sin 和 cos 的方法。然后他告诉我如果我能做点别的。然后我告诉他另一种数学方法,其中包括浮点计算。他告诉我删除它。然后我导出了两个条件,我们可以使用它们来决定下一个点。他有点满足。然后他告诉我这一轮结束了。我有点困惑我是否会获得资格,但我做到了。

第四轮

这是一轮由 SDE2 拍摄的。他告诉我要考虑有多个包,每个包都依赖于一些包或没有包。对于要构建的特定包,构建包的最佳顺序是什么。答案是将其视为图形,然后使用拓扑排序。我告诉他拓扑排序。然后他告诉我写同样的代码。在与他讨论后,我为它编写了一个适当的代码。

下一个问题是二叉树的螺旋顺序遍历。我首先告诉他一个使用更多空间的方法。然后他告诉我优化它。然后我告诉他使用两个堆栈的解决方案。他让我为它写代码。

第五轮:

这一轮从描述你自己开始。然后她问我Java中继承和组合之间的区别。然后她问条件继承在哪里是一个坏的选择,哪里是好的。然后她问我关于树中的遍历。我告诉她 4 次遍历。然后她告诉我做螺旋顺序遍历。我用两个堆栈做到了。然后她告诉我只使用一个堆栈或除一个之外的任何数据结构。然后她告诉我实现一个C函数。她问的下一个问题是数组的交错。然后她告诉我在链接列表中实现同样的事情。然后她告诉我给定一个字符串,把它转换成一个整数。然后她问了我一些关于网络的问题,比如虚拟 IP 地址、DNS 的工作原理、IPv4 和 IPv6、SLIP 协议等。然后她问了图的应用。我告诉她脸书。然后她问除了朋友的推荐,facebook是如何使用图表的。谷歌地图如何使用图表。他们有什么样的数据库。然后一轮就结束了。

最后,经过6个小时的面试,我被告知我被选中了。

一些技巧:-

保持自信和谦虚。即使你知道解决方案,也要先告诉蛮力,然后再优化它。那也和面试官讨论这个问题。继续和他互动。他们将引导您找到解决方案。告诉他们你的思考过程,而不是直接告诉他们解决方案。每次在面试结束时问问题。永远不要立即说出解决方案。至少在亚马逊的情况下与他们讨论解决方案,事实证明这很棒。因为如果您知道解决方案,他们会将其视为提出的问题。保持自信并相信自己的直觉。