亚马逊专访 |设置 1
请在下面找到我的亚马逊采访的详细信息。
采访日期: 2012 年 8 月 22 日
轮数: 1 书面 + 4 PI
面试类型:新生校园面试
笔试(时间):90 分钟
20 个客观问题:能力和基本 C 目标问题。
2个主观问题:
I. 查找二叉树中是否存在具有指定总和的根到叶路径。
二、一些基于排序的问题。
面试第一轮(60-70分钟):
技术面试
问题1:检查字符链接列表是否为回文。
问题 2:一个排序后的数组向左旋转了 r 次。在最短的时间内找到 r。
问题 3:克隆一个单链表,其节点除了 next 指针外,还包含一个指向任意随机节点的额外指针。节点 N 的随机指针可以在 N 之后、N 之前或节点 N 本身。
面试第 2 轮(50-60 分钟):
技术面试
问题1:有一个大的单词文件,它是动态变化的。我们不断地在其中添加一些词。您将如何跟踪每时每刻的前 10 个热门词汇?
问题2:编写minHeapify()操作的代码。
问题3:为以下操作设计一个数据结构:
一、入队
二、出队
三、删除给定的数字(如果它存在于队列中,否则什么都不做)
四。 isNumberPresent
所有这些操作都需要 O(1) 时间。
问题 4:编写一个函数,返回二叉树中最长的叶到叶路径的长度。
第 3 轮面试(60-70 分钟):
技术面试
问题1:有一棵大小为N的二叉树。所有节点的编号都在1-N(含)之间。有一个 N*N 整数矩阵 Arr[N][N],所有元素都初始化为零。因此,对于所有节点 A 和 B,如果 A 是 B 的祖先(而不仅仅是直接祖先),则放置Arr [A][B] = 1。
问题 2:在已排序的旋转整数数组中查找元素。
问题3:有一个N*N整数矩阵Arr[N][N]。从行 r 和列 c,我们可以转到以下三个索引中的任何一个:
I. Arr[ r+1 ][ c-1 ](仅当 c-1>=0 时有效)
二、 Arr[r+1][c]
三、 Arr[ r+1 ][ c+1 ](仅当 c+1<=N-1 时有效)
因此,如果我们从第 0 行的任何列索引开始,直到第 N-1 行的任何路径的最大总和是多少。
第 4 轮面试(40-50 分钟):
栏提升轮
面试官最初问了 HR 问题,然后是一个谜题。
两个机器人带着降落伞降落在一条无限的一维数线上。他们一降落并开始移动,就立即释放降落伞。他们只能使用以下功能。
I. moveLeft() // 机器人在 1 单位时间内向左移动 1 个单位
二、 moveRight() // 机器人在 1 单位时间内向右移动 1 个单位
三、 noOperation() // 机器人不动,需要 1 个单位时间
四。 onTopOfParachute() // 如果机器人站在任一降落伞的顶部,则返回 true,否则返回 false
V. didWeMeet() // 如果机器人遇到另一个机器人,则返回 true,否则返回 false
编写一个函数以使机器人彼此相遇。机器人将执行此函数的相同副本。
雇用!! 🙂
提示/建议:
I. 每次编写代码时,检查边缘情况。
二、不要假设任何事情。如果有任何疑问,请继续提问。