Amazon Music SF office onsite 过经

面的是 sde2

Amazon的HR在linkedin上勾搭的,做了一个OA就去onsite了,没有phone interview,面的是Amazon Music大组。

OA

  1. 第一部分coding两道题:
    1)Two Sum
    2)Two Sum Cloest
    给定一个数target和两个数组,从每个数组中各取一个数,两数之和不超过target且最接近target,输出所有可能。我的方法是sort第一个数组,然后binary search第二个数组,时间复杂度是O(nlogn)

第二部分15分钟写coding部分的思路和分析复杂度

第三部分是work style问卷

Onsite

  1. 第一轮白人小哥。上来先来两个bq,问“你工作中最自豪的事”和“怎么解决和组员的conflict”。然后出了一道Two Sum,我跟他说OA做过了,然后改成了Three Sum,follow up是K Sum只需要讲思路,我分析了做法和时间复杂度,他问怎么提高效率,我讲了多台机器分治和从产品的角度出发限制K的大小等。

  2. 第二轮bar raiser,别的大组的manager。bq是“你不同意manager的看法怎么办”,“犯过最大的错误"和”觉得自己有什么不足的,怎么提高“。然后出了一道trie的题。题目是:
    给定一个string数组[s1,s2,s3,s4,…],找最长公共前缀。一半或以上的string必须拥有这个公共前缀。可以这么理理解,如果你找到的longest common prefix是p的话,那么超过一半以上的string必须以p开头。⽤trie可以做,复杂度是O(n*l)

  3. 第三轮manager,bq是”你想开发一个feature,怎么说服组里的人支持你,需要和哪些别的组交流等等“。出了一道OOD的题,给定一个directory(树状表示),需要implement⼀个find API,参数是各种filter,⽐如”size > 50MB and size < 100MB",”is a .txt file"等等,需要返回这个directory下所有符合要求的file。先定义各种类,以及类之间的交互,最后还要实现这个find API。主要考擦OOD和抽象能⼒。

  4. 第四轮manager,全bq,太多了我记不住,但是有些跟前面几轮重复的。

面完后三天说过了,正在team match。

亚麻的面试真的太看重bq了,我就准备了三四个例子,第二轮就用光了,后面两轮包括全bq的manager都是在现编,希望以我为鉴好好准备bq。

楼主请问 “k sum怎么提高效率,我讲了多台机器分治和从产品的角度出发限制K的大小等” 可以稍微具体一点吗 没看懂什么意思

就是k sum不是指数级别的时间复杂度吗 如果client想要k=100你该怎么办 第一就是限制client最多只能k<10或者更小的数 第二就是多台机器同时算 第三就是cache一下之前的结果