亚马逊面试经历 |设置 159(校外)
我最近收到了亚马逊德里的报价。以上就是我的面试经历。
电话会议
Q1。从单链表的末尾找到第 k 个元素。
Q2。给定一个整数数组(未排序)和一个数字 S,在数组中找到一个总和等于 S 的对。我给出了排序解决方案,并被要求为我使用的排序算法编写代码。我使用了就地合并排序。
F2F 德里
第一轮:
Q1。详细讨论了所有可能的数据结构,这些数据结构可用于实现没有重复的集合,并支持以最小的空间和时间复杂度进行添加、删除和查找操作。我建议使用散列、BST 或数组。他们让我举一个散列函数的例子,它支持均匀分布但不是无冲突的。被要求使用 BST 编写用于添加、删除和查找操作的代码。
第二轮:
Q1。将由 2D 矩阵表示的图像旋转 90 度。
Q2。给定一个 0 和 1 的单链表,对它进行排序,保持顺序不变。我给出了 O(N) 时间和 O(1) 空间复杂度的解决方案。
第三轮:
Q1。讨论项目和以前的工作。
Q2。给定几天的股票价格,找到这两天,以便在 1 买入股票并在另一天卖出股票可以获得最大利润。预计 O(N) 时间和 O(1) 空间解决方案。
Q3。给定一个双向链表,每 2 个节点反转一次。例如 1->2->3->4 将变为 2->1->4->3
Q4。关于OS,OOP的几个问题,几个是什么是分段错误,描述你知道的设计模式。
第四轮:
这一轮是提高酒吧的一轮。有点棘手。
Q1。详细讨论项目、您拥有的最佳项目、最具挑战性的工作、优势、劣势等。
Q2。给定文件中出售的物品的转储(未组织),给出出售的前 n 个物品。例如。该文件如下所示:
< 商品 1 已售出 >
< 商品 2 已售出 >
< 商品 1 已售出 >
< 商品 9 已售出 >
此外,可能会出售相同的商品,但由于供应商不同,它们的名称可能不同。因此,您还需要将它们一起计算(提示:使用项目的 ID)。
提示:使用 grep 命令获取计数。
Q3。收集城市中所有 18 岁以上人员的电子邮件 ID。他想看看我的思维方式,以及我如何使用软件方法解决日常生活问题。
Q4。有信号和双向交通。汽车以 10 辆/秒的速度驶来。信号保持绿色/红色 10 秒,当信号为绿色时,10 辆车/分钟可以穿过信号。你需要知道在特定时间内有多少辆车在两边的信号灯后面等待。假设您在时间 0 运行模拟器,现在 1 小时后您需要拒绝。两旁等候的汽车。
在此之后我没有被选中,但在 1 个月后接到了电话,因为他们想重新考虑我的个人资料。
F2F 海得拉巴
第一轮:
Q1。前人工作的一些讨论。
Q2。给定一个排序的字符数组 S 说 S= {'a','d','g'},你需要在其中找到给定字符的插入点,如果它小于 'a',则插入点为 0,如果在 'a' 和 'd' 之间,则插入点为 1,如果大于 'g',则插入点再次应为 0。预计需要 O(log n) 时间。
Q3。给定一棵完整的二叉树,在不使用任何额外空间的情况下连接同一级别的节点。
Q4。给定一个未知语言的字典,您需要给出其中的排序字符序列。
例如
字典看起来像:
ABCDE
CF
危险品
所以输出可能看起来像:ABCDEFG
提示:拓扑排序
第二轮:
Q1。给定两个字符数组 S1 和 S2。您需要在 S1 中找到包含 S2 的所有字符的子串的最小长度。字符不必与 S2 中的顺序相同。字符可能在 S1 中重复。
Q2。给定一个像文本文件这样的字典,在其中找到 n 个出现次数最多的单词,即 n 个计数最大的单词。提示:使用散列和最小堆。
我要感谢 geeksforgeeks,因为它在准备面试时帮助了我很多。