Dropbox 面经

初来乍到 发个面经。
四月找朋友内推 可以选店面或者OA,自然是选了OA。
题目就是面经里常见的文本编辑器,需要完成redo undo select bold之类的操作。
实际上会有一些corner case,他自带的test并不会cover。基本考虑每个功能自己就行,比如undo redo只管增删,bold应该是不用管的。
所有case过了就可以提交了,时间也算分的。

五月下旬 onsite, 两轮算法,一轮设计,一轮BQ,一轮project deep dive。
IC3(senior)或以上才会有deepdive,这个面试前就要定主题,所以建议准备一些有一定复杂度的project。我这个其实吃亏了。
BQ 比较常规,建议按照亚麻准备。
设计是 message queue。github.com/insideofdrop/Dropbox-Interview-Prep 这里有原题,而且面试官会问的问题也会有一些。
算法基本都是多线程相关,上面的repo里也有示例代码 建议提前看一下。

我考了最常见的 allocate Id,和web crawler。

web crawler 用C# concurrentSet concurrentDictionary些,面试官不满意。
应该是要用 lock unlock, listen notify之类的写。 可以假定这些已经被定义过了。
还有就是会问一个:线程数是规定上线好还是动态的好,我说的是设置一个好,不然可能会占太多。

allocate Id 需要说出真是占用的内存 1m个Id 占多少MB之类的,就是用bitMap,可以先写个queue 的 然后在写bitmap。
之后会要求跑一些test。

这个没面上还是挺遗憾的。
他家题库很小,据说wlb很不错。能安排上的话希望都很大。
不要因为上面的题LC上有原题 刷过就完了。还是要跟面试官要求来。

这个在隔壁发过了 这边加上我准备面试时候总结的题
算法还是多看上面那个github链接 感觉里面写的蛮好的。

算法
ID Allocator
Web Crawler
read write lock
Token bucket
NASA telescope
KV store 数据隔离级别?
Delayed queue
写一个算法来实现callback + timeout

设计
Logging system
Design dropbox/google drive
Message queue
Twitter
Phone book, multi device sync

1 Like

这题挺难的,不是算法范畴了吧