上机就是地里常见的versioned key value store,大意是这个key value store有一个globally单调递增的version id,也就是说所有的entry都share同一个单调递增的version id,要实现三个函数: put(key, value), get(key)和get(key,versionId)。前两个函数就是正常key value store的get和put,第三个的意思是说返回versionId为输入的versionId时key对应的value,这里需要注意的是这个输入的versionId是global的,比如如果versionId从1开始,操作顺序是put(1,1), put(2, 9), put(3, 0), put(2, 7), 那么get(2, 3)返回9,而get(2, 4)返回7。
算法题是给一个paginated的getAPI叫做getNextResult(nextToken),每次返回一个result,这个result里面包含一个list of result以及一个next token,现在要你用给的getNextResult API来实现一个get(int size)。
系统设计题是设计分布式锁管理系统。
bq基本上就是跟manager聊了一下自己过去lead project的经验和deep dive了一下自己做过的project。
onsite时整体感觉人毕竟friendly,目测好像Lyft最近内部跑路的比较多,所以比较急着招人?
评分