亚马逊面试经历 | Set 208 (校内实习)
亚马逊访问了我们的校园,以招聘 2016 年夏季的软件开发实习生。
截止 : 75%
140名学生入围。
第 1 轮(编码 + 能力):
第一轮主要包括操作系统、DS、基本能力、算法等方面的问题。
2个编码问题
1. 给定一个字符串,找出其中第一个不重复的字符
2. 给定一个整数数组,找出要从数组中删除的最小元素数,使得新数组的最大元素最多是最小值的两倍。
本轮39人入围
第二轮(F2F)
他询问了我最喜欢的主题和我已经实现的数据结构。我命名了一些数据结构,包括段树。然后他问我关于线段树以及如何基于线段树解决一些简单的问题,他只问方法没有要求我编码。然后他问我关于
连接同一级别的节点
我告诉他使用水平顺序遍历的方法。然后他让我连接同一级别的节点,但这次是连接到他们的左兄弟。在告诉我的方法后,他让我编写代码并说他希望代码没有任何错误。在我给他我的代码后,他指出代码中有一些错误。他让我自己找出并纠正它们。
然后他又问了一个问题:
二叉树的直径
在听到我对这个问题的回答后,他让我打印出与直径相对应的叶子。
第三轮(F2F)
这一轮只问了一个问题。她让我实现一个数据结构,它可以执行 1)Insert (O(1))2) Delete (O(1))3) Count(O(1))4) Get Element(O(1))on integer输入。此处 Get Element 返回 DS 中存在的任何元素。
我告诉她我使用数组、带有散列的单链表以及使用两个单链表和散列的方法。我无法得出确切的解决方案,但她对我的方法感到满意。
使用双向链表和散列很容易解决这个问题。
本轮结束后,共有19名学生被选为实习生。
尖端:
- 说之前先想好
- 面试时要诚实
- 保持冷静
- 从面试官那里得到提示
最后,我要感谢 Geeksforgeeks 帮助我做好准备?
亚马逊的所有练习题!