亚马逊面试|第54集(实习)

大家好。以下是我在亚马逊实习的面试经历。 职位:2个月实习生 轮数:1个在线+2个PI(2个F2F)

null

第一轮:(90分钟) 20个MCQ和2个编码问题 有20个基于C输出、概率、基础数学、OOPS、算法分析和操作系统的MCQ。

问题1: 给定一个链表,编写一个函数来反转每k个节点 (其中k是函数的输入)。 例子: 输入:1->2->3->4->5->6->7->8->NULL和k=3 输出:3->2->1->6->5->4->8->7->NULL。 输入:1->2->3->4->5->6->7->8->NULL和k=5 输出:5->4->3->2->1->8->7->6->NULL。

问题2: 给定一个字符串,其中包含由任意数量的空格分隔的单词。编写一个函数,返回由每个单词的第一个字母组成的字符串。 (注意:给定字符串的开头、结尾或字词之间可能有任意数量的空格。) 例子: 输入:“这是一个测试用例” 输出:tiatc (这两个问题都给出了函数原型和main。虽然许多解决方案通过了最初的测试用例,但后来由于不满足边界用例而被拒绝。)

第二轮:(面对面)(1小时20分钟) 问题1: 给定由两个链表表示的两个数字,编写一个返回和列表的函数。 总和列表是两个输入数字相加的链表表示。 实例

Input:
 First List: 5->6->3  // represents number 563
 Second List: 8->4->2 //  represents number 842
Output
 Resultant list: 1->4->0->5  // represents number 1405

我颠倒了链表,简单地添加了相应的节点和进位。然后,他让我解决这个问题,而不是颠倒清单。然后,我迭代地解决了这个问题,没有颠倒列表。 然后面试官让我为同样的问题写一个递归代码。 之后,他要求我修改代码,使每个位置的进位都通过值传递,而不是使用指针(我在代码中使用了指针)。

问题2: 迭代和递归代码 反转链表 (注意角落情况:当列表没有节点或包含单个节点时)

问题3: 编写一个函数来检查一棵二叉树是否是另一棵二叉树的子树 (检查所有角落的箱子)。 我用O(n^2)时间复杂度解决了它。他没有要求我优化我的代码。

问题4: 你会使用哪种数据结构来记录股票市场?

我请他澄清问题陈述。

然后他问我:假设你必须在不同时期保持不同公司的股票价值,并返回特定公司在给定时期内的最低股票价值。

我回答了段树(正确答案可能是队列数据结构)。 然而,面试官继续在片段树上提问。 他让我为他写一段代码 (a) 创建段树 b) 在段树中执行范围最小查询 c) 更新段树 他让我分析构建段树和在段树中执行范围最小查询的时间复杂性。 然后他问我:如果你想在过去6个月内保持一家公司的股票价值。。然后,您必须每天通过删除股票价值并插入新的股票价值来更新分段树。你会怎么做? 在这里,我被卡住了,无法在超过O(n)的时间内完成更新。(然而,使用队列可以在O(1)时间内完成)。

他最后问我是否有问题。

第三轮:(面对面)(20分钟) 这一轮只向我提出了一个技术问题。

(a) 他让我谈谈我自己和我的技术成就。。

b) 如何将二叉树存储在文件中,然后进行读取。(不一定是BST) 首先,我回答说,我将存储树的水平顺序遍历。 然后他问我如何在各个级别维护节点(我无法回答)。我可以很容易地从树的原始遍历顺序中检索到。 但后来他告诉我优化我的方法(因为这种方法需要两倍于原始空间的空间来存储节点中的数据)。我无法进一步优化我的方法(不过更好的方法是使用括号)。

                                    A
                                      /   
                                        B    C
                                        /   
                             D      E

如果这是二叉树,那么它可以作为(A(B(D),(E)),(C))存储在文件中。) c) 然后对我的项目、我遇到的问题以及我如何解决这些问题进行了10分钟的讨论。 d) 最后他问我有什么问题。 我询问了亚马逊的实习生项目,以及DBMS和网络在其中的使用情况。 他开始详细阐述在亚马逊的整个工作过程和他的工作经验……。。其中大部分我几乎无法理解。他还告诉我要对JAVA有很好的了解,因为在项目的某个阶段需要JAVA。

最后我被选中了。

向作者表示祝贺。如果你喜欢Geeksforgek,并想贡献自己的力量,你也可以写一篇文章,然后把你的文章发到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享