Amazon AWS Hiring Event

AWS组的Hiring Event,HR联系之后发了OA,通过之后就直接Onsite了。
第一轮:2位三哥哥

  • 前20-30 mins BQ
  • 一道算法题,给你2个log files,log file有每一个用户的行为,怎么求同时在2个log files中都出现的用户。抽离出中心思想就是intersection of two arrays。
  • follow-up:如果有多个文件,比如1000个文件,怎么求?我给的思路是先给每个log file分别排序,然后用Heap做。没让写代码,只说了一下大概的思路。

第二轮:1位白人大爷

  • 前20-30 mins BQ
  • 说一个你自己的project,然后说high level design,然后说有什么trade off,如何改进。相当于个人简历和系统设计的结合体。

第三轮:1位白人小哥

  • 前20-30 mins BQ. check 1point3acres for more.
  • 一些简单的很随机的小问题,比如TreeMap和HashMap的区别,用List和HashSet查找有什么区别。
  • 一道算法题是Boggle Game,用Trie + DFS的解法。有一点小bug,并无大碍。

第四轮:战斗民族小哥

  • 前20-30 mins BQ
  • 用Heap来实现Stack,Stack的功能包括Push(int num), Pop(), getMax(), getAverage(),我并没有想出来,小哥提示之后做出来了。
    思路大概是定义一个新的class,比如Node类,里面包含attribute包括order和maxVal。所以Heap里装的是这个Node,Heap里的nodes是用order来作为comparator。
    因此每次要push一个数字的话,要新建一个Node,然后根据Heap顶元素来确定当前数字的order,并求出当前的maxVal,全部存到Node里面然后push进Heap。
class Node {
      int order;
      int maxVal;
}

总结:

  1. 得BQ者得亚麻,这个不用多说了,地里也有不少总结亚麻BQ的帖子,我个人是总结了11个例子,一个例子能套进多个祖训里面。
  2. 交流很重要,比如最后一轮,思路我并没有想到,但是经过讨论和提示后要能迅速写出来。
  3. 亚麻Move的很快,Onsite之后第二天就打电话来说通过了。

楼主这时间线好快啊,18面试19就有offer了。。。沾沾喜气

求问楼主时间线是怎么样的 感谢

09/12 - HR邮件勾搭
09/17 - 回HR邮件说有兴趣
09/24 - HR电话沟通并发OA
10/03 - 做完OA
10/04 - HR通知可以Onsite
10/18 - Onsite
10/19 - 口头offer
11/04 - 正式Offer deadline

沾喜气沾喜气。。。感谢楼主的面经!!!