📜  亚马逊专访 |设置 1

📅  最后修改于: 2022-05-13 01:58:24.778000             🧑  作者: Mango

亚马逊专访 |设置 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. 每次编写代码时,检查边缘情况。

二、不要假设任何事情。如果有任何疑问,请继续提问。

亚马逊的所有练习题!