亚马逊面试题分享|S20

2021年3月23日14:42:23 发表评论 587 次浏览

最近接受了亚马逊海得拉巴SDE1的采访。

书面

1)

给定一个BST, 以及一个节点的左右指针, 它具有向前和向后的指针, 使用这些额外的指针将树转换为双链表。

2)A = {5, 3, 8, 9, 16}

经过一轮迭代后, A = {3-5, 8-3, 9-8, 16-9} = {-2, 5, 1, 7}

第二次迭代后, A = {5-(-2), 1-5, 7-1}和= 7 +(-4)+ 6 = 9

给定一个数组, n次迭代后返回总和

3)编写一个将字符串AAACCCBBD压缩为A3C3B2D的函数

等功能从压缩生成。

第一f2f)

1)

检查给定的BT是BST

2)每天给出股票的成本, 以数组的形式给出, 找到当日通过买卖可以赚取的最大利润

3)在矩阵A [m] [n]中, 对每一行进行排序, 对每一列进行排序, 编写一个函数来检查此矩阵中是否存在数字。

4)给定一个字符串, 找到最长的仅包含唯一字符的子序列。

第二个-f2f)

1)

将BT转换为SUM BT

(每个节点的值=左右节点的总和)

2)"我每天收到数千封电子邮件",

在每封电子邮件中找到所有字谜, 并在每封电子邮件中打印所有字谜的计数。

我的解决方案是使用Trie和哈希函数来增加Trie中每个节点的计数器。

哈希函数将以某种排序的方式返回给定的单词, 他要求我编写繁琐但给出粗略草稿的代码。

初始设置成本会很高, 但是通过将所有计数器都设为零, 可以将相同的trie用于任何电子邮件。

第三f2f)

1)他谈到我的项目差不多45分钟, 并询问我们如何实施它。我也在我当前的公司中从事Web服务的工作, 因此他们对在那里的问题更感兴趣, 并想知道我在那里的实施情况。

2)国际象棋int board [8] [8]的设计问题, 矩阵中的每个值代表一个字符。 1-9数字代表所有白人, 11-19数字代表所有黑人。

给定(x, y)的棋子, 则打印所有可能的移动。假设白色为索引0, 黑色为索引7。

第四f2f)

1)在二维空间(一个平面)中有三叉树。打印从平面右侧可见的所有元素(如果沿y轴平面看到)

例如)在下面的答案将是(1)(5)(8)

————————(1)————————————

--————-(2)–(3)–(4)–(5)——————————

--——-(6)–(7)–(8)————————————

2)以Z字形顺序打印这些元素, 首先是第1级, 然后是第n级, 第2级和第n-1级, 依此类推。

用简单的话来说, 在三叉树的每个级别中都打印最右边的结束元素。

我的方法是采用两个队列, 在Q1入队根, 在Q2出队入队其子级, 同时将元素从一个队列移到另一个队列中, 将最后一个元素存储在双向链表中。

在打印时, 请使用此双链表, 从头开始, 然后从尾部移除, 直到其变空。

第五f2f)

1)在帕斯卡三角形的第i行中找到第j个元素

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1…和儿子pascal(4, 2)应该返回6。

pascal(int i , int j){
  if(i<0||j<0) return 0;
  if(i==0 &&j==0) return 1;
  if(i==0 && j!=0) return 0;
  return pascal(i-1, j-1)+pascal(i-1, j);
}

复杂性不好, 一旦计算出子问题, 我就不对解决方案进行分组

2)使用键作为字符串实现自己的哈希函数, 并且值的类型为Object

最初, 我告诉BST删除订单log(n)插入内容, 然后他告诉我思考和回答, 然后我告诉自平衡BST, 他要求我实施,

3)使用运算符优先级评估数学表达式2 * 3 +(5-6 / 2), 类似这样。

每个f2f面试时间为50至60分钟。在每个f2f回合中, 他们都会询问更改原因以及你当前的项目。你应该对当前的项目做出完美的回答, 不要对任何事情都感到困惑, 他们也会在当前的项目中提出很好的问题。

这些问题可能会占用15-20分钟以上的时间, 在其余时间中, 你必须在DS中回答最少两个问题, 并对它们进行编码。

如果回答, 你将再得到一个有益的问题which

首先, 他将解释问题并给你一些时间。

你需要先解释该解决方案, 如果他喜欢它, 那么他会要求你编写生产代码并拿纸。

每次面试都不像亚马逊的水平, 他们既不会与你也不会与其他面试官分享反馈。

面试过程完成后, 所有接受面试的人都将坐下来并进行判断(这就是人力资源部告诉我的😀)

所有面试官都很友好, 最后我接到人力资源部的电话, 说我被选中了。

亚马逊的所有练习题

!

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: