我最近对Amazon.com进行了一系列采访, 并在问题下方列出。这一天大约有15-20个人在办公室工作, 整个过程花了将近12个小时。
希望人们可以从中受益。 🙂
第一轮:
在线书面回合。
一种。确定矩阵是否为交叉矩阵。
交叉矩阵是所有对角元素都相同且在其他任何地方均不重复的矩阵。
b.
以相反的顺序打印级别顺序, 即从下到上。
C。还有一个简单的问题, 我现在不记得了。
第二轮:
F2F-开发人员
a.
卡丹的算法
.
但是, 它隐藏在一个好的问题集中。
采访者想确定我是否能认出相同的人。
我没有立即记住它, 但是能够通过解决来证明它。
b.
链表交点
.
同样, 必须从不同的问题集中解读以上内容。
[只有父指针的树, 如何找到LCA?]
能够轻松识别相同内容, 因此我们迅速转移到其他事物上。
第三轮:
招聘经理
一种。设计一个可以在O(1)中执行findMax的堆栈。
曾经在某本书中读过答案, 并适当地告诉他已经听到了。
他验证了, 我们继续前进。
b.
每天都有一组库存。需要找到我买卖股票以赚取最大利润的日子, 以及寻找最大利润
.
不得不编写代码, 我做得很好。
他印象深刻, 我觉得我有很大的机会。
第四轮
:开发人员
a.
从连续的数据流中查找搜索到的前k个元素
.
我记得我们需要使用Min Heap, 但他的约束是使用连续流。
终于在他的帮助下做到了。
b。根据他的团队的问题提出的一些设计问题。
必须使用队列和哈希图来解决它。
他对我能否正确识别复杂性非常感兴趣。
第五轮
:经理–不同的团队
一种。给定一个链表和2个整数k&m。反转链表直到k个元素, 然后遍历m个元素并重复。
编写生产质量代码。
我不确定发生了什么以及为什么我在这样一个简单的问题上失败, 但是你可以在上一轮中做类似的事情。
b。给出了一系列元素。
查找每个元素, 在其右边的第一个max元素
.
能够做到很好, 但是在复杂性分析中却失败了。
c.
一棵树的边界遍历。
编写代码。
编写了代码, 但是他花了很多时间才能检查相同的代码。
在这一回合之前, 我寄予厚望, 但没有人能接受如此糟糕的最后一次面试并被选中, 因此两周后收到了一封拒绝邮件。
亚马逊的所有练习题
!