看完此总结,稳拿Amazon—因为LZ,已获Amazon offer

原帖地址:一亩三分地

LZ前一阵子,面试亚马逊。自己把地里面的Amazon所有的题目总结了一下,一共大概121页。楼主面试前看了一遍,结果面试时几乎全是原题,已获Amazon offer。下面是我的onsite 题目。以及自己的总结。
楼主快没有米了,走过、路过的赏点米

一共五轮,每轮45分钟,没两轮之间没有break,但是你可以花上3minute左右喝点水和去卫生间
第一轮:(烙印)
hiring manager面试的,也是我以后mobile team的manager。没有coding。对着我的简历,一个项目一个项目的去问。 每个技术细节问的很深,比如细到这个请求网络的服务是用什么Framework类来实现了,这个Framework类比着别的Framework类有什么优点?另外,他对我的一个多媒体播放的一个项目特别感兴趣。问了好到技术细节,以及其中的一个我们设计的很关键的算法。我给他这whiteboard上面画图详细的描述我们当初设计的这个算法。结果这个面试官一眼找出了我们设计的一个漏洞。我告诉他这个问题我至今还没有解决,他也没有继续追问下去。

第二轮:一个年轻的印度三哥。
这货上来也没有寒暄,也没有微笑,直接说题目。我当时也挺紧张的,感觉这货要挂我。
他的英语我也没有听的很懂。我反复给说他pardon 和Do you mean by ….? 无数次之后才弄明白他的题目意思。 他的题目的意思是:输入a list of sections, list

, 在每一个section中有很多product,每一个product有两个属性:user,relevancy ,你可以通过调用系统API得到这两个值。 每一个section有score所有的product的score之和,每一个product的score是user * relevancy 。 最后给这个list of section排序,使得score大的section在前面。 这个题目其实很简单,但是他前面描述这个问题花了很多时间。
第二题:设计一个 in memory cache system,支持
1. capacity(这个system有一定的容量)
2. TTL(time to live)
3. LRU (least recently unused)
参考leetcode https://leetcode.com/problems/lru-cache/

follow ups:让你扩展到一个distributed in memory cache system怎么设计

第三轮:老美
继续问简历上面的一个项目,然后给了一个leetcode的原题https://leetcode.com/problems/surrounded-regions/。
由于问我简历,问的时间太久了,结果算法题目的时间就很短了,算法最后没有在whiteboard写完,但是思路给他们解释清楚了。

第四轮:老美

第一题:给我展示了他们组做的一个APP: Myhabit,(可以在AppStore上面下载看看),面试官给我指着Myhabit上面的一些功能,让我去自己设计。在白板上写出自己的思路。
第二题目: linkedlist 每个节点多一个random pointer。leetcode原题。我用hashMap做出来的。

第五轮:(老美)

第一题: 设计一个大楼的电梯(Amazon经典面试题目,面试前面我专门总结了一下^_^)
第二题:继续问简历上面的项目。

总体感觉,对自己以前做过的简历上面的项目一定要熟悉。两道算法都是leetcode中等题目。回答问题时最好要以customer为中心。

下面是Amazon题目总结

由于文件太大,我将其放在了百度云盘上:链接:http://pan.baidu.com/s/1qWGD2Ew 密码:oher

走过、路过的赏点米

  1. LZ太牛了!总结了121页!请问你都是在哪里找的资料啊?