亚麻西雅图5月24号Hiring Event

亚马逊Prime Video组 西雅图Onsite,SDE1 职位。

这次BQ不多一共问了5个:

  1. Describe a time when you solve a complex problem with a simple solution
  2. Tell me a situation you improved the quality of your project’s codebase
  3. Not being able to meet a deadline
  4. Most challenging project outside of work
  5. Received negative feedback

题目:
第一轮老印小哥:

给一个sorted int array,找出majority element (出现次数大于n/2), 要考虑到majority element不存在的情况,没有的话就return -1

我一开始用HashMap 算frequency,然后面试官一直提醒我要利用排序的性质,最后我想到用二分查找出中间数字在array中第一次出现的位置和最后出现的位置,如果它们相减大于n/2就是majority element,小于等于的话就是没有majority element

第二轮:老印小哥

client 在Amazon 点击一个product 会 trigger 一个event, event里有productID 和 trigger时的时间。要求实现两个API: addEvent(Event a) 和 getMostFrequentProductID(Date date), 要找出在给定时间里出现最多次数的productID。我用了个HashMap†加上一个Heap来存它们的相对应关系

第三轮:国人小哥manager

上来直接叫我设计一个cache 的interface,而且必须是generic的。 写完abstract methods后 叫我实现了 LRU Cache。

第四轮:老印大哥

给出一堆有不同长度的绳子,每次可以系任意两根绳子,cost是两根绳子的长度,问把所有的绳子系起来的最小的cost是多少。这题跟一道亚麻oa一模一样。我直接用一个minHeap 先poll出两根最短的然后系起来 存一下cost然后把 合并的绳子放到heap里,一直做到 heap里只剩一根绳子。秒掉后还有大把的时间面试官要我写一个minHeap,要求实现 insert 和 pop 的操作。heap的形式是用int array给出的。demo了一下就做出来了。最后跟面试官讲了些最近的project。

之前4月初面跪亚麻一次后有了经验 知道要在BQ和project上下些功夫,这次准备BQ 熟读了14条然后整理里13个常见的问题,每个问题都准备了两个故事来应付,面试中也不虚了。coding方面其实一开始没有直接写代码,而且多和面试官交流,面试官都很友好各种提示哪个test case没过什么的。总体来说面试体验还是挺不错的。最后拿到了offer。

1 Like