Amazon onsite 面经

Amazon onsite 面经

 

时间下午1点到5点, 四轮儿四个小时

每轮儿50分钟左右, 我因为每轮儿都比较顺 所以大概不到50分钟


每轮儿bq占15-20分钟, 会问2-4个问题 很关键, 很关键 要举实际例子, 还要往lp上去靠

这里统一说一下问过什么(顺序实在是记不清了):

频率由高到低:

  1. Meet tight schedule/ddl coming but can’t finish/tell me one situation when u can’t finish your work

    1. 我觉得属于一类题. 答得时候主要体现如何manage schedule啊, 如何earn trust, most important是deliver result什么的

  2. Conflict with manager/teammate

    扫描二维码关注公众号,回复: 3734669 查看本文章
    1. ownership啊, dive deep啊, build trust啊, be curious, deliver result这些

  3. Most challenging project

    1. 这个其实我觉得主要也是problem solving的能力, 注意体现“如何challenge”, “针对challenge做了什么”

 

除此之外我还准备了why amazon, why me之类的, 比较关键的(来自闫老师真传):

按照STAR来答!!!

Situation, Tasks, Action, Result!!!!

Action—> 自己做了什么! 至少要占60%!!!!


—————————————— 以上就是bq内容——————————————

—————————————— 以下是tech part——————————————


第一轮儿: 三姐姐

implement heapify --> 大班实践课原题

这个其实算是我tech部分答得最差的…因为确实没复习到heapify实现…

算是现推的逻辑, 最后code也不是bug free.

不过灵魂的percolateDown通过画图解释了一下

三姐姐还是挺满意的, 之后就让我问了我想问的问题


第二轮儿: 三哥哥 + shadow

shadow目测韩国或者日本人, 全程职业微笑, 一直在敲电脑做笔记

三哥哥飚语速, 搞得开始他介绍自己是干啥的时候完全没听懂(其实听懂了也记不住)

然后tech question是2D matrix rotate 90 degree —> 大班原题

我用的recursion一次旋转一圈儿的方法, 在过例子的时候把四个点的坐标写清楚了(需要考虑 i, currLength, offset等, 挺麻烦的不过不难)

然后这道题就没难度了

实现了之后问了我odd的情况, 我回答说odd的话最中间儿就一个点不用旋转

然后三哥哥和shadow小哥儿盯着我的代码看了五分钟, 之后一句OK过关

看了看表发现还有时间就问了我一个two stack implement queue —> 大班儿原题

我就过了个例子, 过例子的时候就把情况说的挺清楚, 能看出来三哥哥是跟着我的思路走的

过完例子问了一句: 现在可以实现了么, 三哥哥看了一下表然后说觉得我的逻辑是work的

然后就到我问问题

 

第三轮儿: 白叔叔

System design, 白叔叔人挺好(没有口音交流就是爽) bq之后跟我说这轮儿是system design

直接上白板儿, 让我设计一个uber

问题是: after user hit the “confirm order” button, what happened backward?

我套了大班儿system design讲的hdfs系统, master node根据geolocation 定位到负责当地的slave node位置, 返回IPaddress和端口号儿

然后user再发送请求去对应的slave node, slave node内部有数据库管理着当地的driver information

根据算法generate出一个合适的driver, 然后分别通知driver和user找到了match.

以上就是大概的流程. 最后简单问了问找最近的driver的算法. 也没让实现. 全程没写码, 一直在画图和逼逼

之后就是我问问题


第四轮儿: 白老叔叔

最后一轮儿了 他也看着挺累, 简单交流发现他是principle engineer, 在亚麻干了十年了

有提到做的工作涉及到ml, 具体的没记住, 反正我后来问问题的时候针对这个问了一个

题目是场景题/应用题:

clarify question之后的版本:

想知道一台机器能同时处理多少个请求, 现在只给我一堆log文件, log文件中最有用的两个信息一个是start time, 一个是duration

细心的小伙伴们肯定发现这道题脱了马甲就是lc Meeting Room II

我用先sort 后 priorityQueue的方法解决的, 白板儿上写的时候还秀了一把lambda expression(主要是为了省地儿)

然后问我streaming input怎么改良, 我说那就只能assume所有的log文件已经按照start time排序好了

然后就改成了类似OOD? 我简单写了个框架然后说把代码整个挪过来

又考了一个corner case我也解释了是work的

之后就是我问问题


因为这是我的第一个onsite interview所以也没什么对比, 就觉得自己发挥得还不错吧.

上周五面完, 五天没睡过安稳觉, 然后今天10.24程序员日收到recruiter来的电话 确定上岸

猜你喜欢

转载自www.cnblogs.com/tobeabetterpig/p/9855839.html