亚马逊最近访问了我们的校园,招聘实习生进行为期6个月的实习。
第一轮:在线考试 第一轮是90分钟的在线测试。它托管在HackerRank平台上。共有20个MCQ问题和2个编码问题。MCQ问题各1分。每个错误的MCQ答案都有0.25分的负面分数。MCQ问题来自数据结构、数据库管理系统、能力倾向等。
编码问题是: 问题1。 颠倒给定字符串中的单词
问题2。 可能来自电话号码的单词
注意:至少做一个编码问题是非常重要的。即使你的20个MCQ都是正确的,但你没有做任何编码问题,那么你被选中的几率也很低。我建议每个人在最初的30分钟内完成所有的MCQ,然后在最后的60分钟内完成编码问题。
我做了15个MCQ和2个编码问题。我被选中参加下一轮比赛。总的来说,有19名学生被选入下一轮。
第二轮:面试 面试官首先问我关于我在简历中提到的一个项目。然后他问了我两个问题。
问题1。我们得到了一个映射:a映射到1,B映射到2,C映射到3…Z映射到26。我们得到一个数字n,我们必须告诉有多少不同的字符串可以从这个数字n使用给定的映射形成。例如
输入:121 产出:3
说明:我们可以把数字n读作1、2和1。形成的字符串将是ABA(1=A,2=B)。我们也可以把数字n读作12和1。形成的串为LA(12=L,1=A)。我们也可以把n读作1和21。形成的串为AU(1=A,21=U)。因此,我们可以使用给定的映射从数字121中形成最多3个不同的字符串。
我给出了一个递归的解决方案,面试官对我的解决方案很满意。所以他让我把我的解决方案写在纸上。我给解决方案编了代码,然后他检查了我的代码。一旦他满意了,我们就转到下一个问题。
问题2。 https://www.geeksforgeeks.org/remove-bst-keys-outside-the-given-range/
过了一会儿,候选名单公布了。10名学生被列入下一轮的候选名单。我也被列入下一轮的候选名单。
第三轮:最终面试 这是这个过程的最后一次面试。这位网友先让我自我介绍,然后问我的一个项目。然后他问了我几个问题,具体如下:
问题1。什么是二叉树?BT中有哪些不同类型的遍历?这些遍历之间有什么区别?哪种遍历基于BFS,哪种遍历基于DFS?
我恰当地回答了问题。他对我的回答很满意。
问题2。 螺旋形水平顺序遍历 一旦我给了他解决方案,他让我把它写在纸上。他用一些测试用例手动检查了我的解决方案。一旦他满意了,我们就进入下一个问题。
问题3。什么是最大堆?什么是最小堆?堆的一些实际应用是什么?
第四季度。如何在堆中插入?时间复杂度是多少?
问题5。如何从最小堆中删除最小元素?时间复杂度是多少?
问题6。给定一个由n个数字组成的数组,如何从该数组中构建最小堆。时间复杂度是多少?
我恰当地回答了他。我告诉他,我们可以在O(n)时间复杂度内解决上述问题。然后他让我证明复杂性是O(n)。我用一个示例数组证明了这一点。他对我的回答很满意。
问题7。有一个恒定的数字流从一些无限的数字列表中进入,您需要维护其中的数据结构,以便在任何给定的时间点返回前100个数字。假设所有的数字都是整数。
索尔:我用min heap给了他一个解决方案。我们可以创建100个元素的最小堆。前100个元素很容易处理。假设我们得到了列表中的第101个元素。如果这个数字小于二进制堆的根,那么我们不需要做任何事情。如果这个数字大于二进制堆的根,那么我们需要用这个元素替换根元素,并在二进制堆的根上调用percolate down过程。
我的面试官以这个问题结束了我的面试。
我建议每个人都去亚马逊至少5位极客的面试经历。在他们选择亚马逊之前。最后,我想说的是关注数据结构、操作系统、数据库管理系统和网络。在数据结构中,主要关注二叉树、二叉堆和链表。
如果你喜欢Geeksforgek,并想贡献自己的力量,你也可以写一篇文章,然后把你的文章发到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。