推特 电面+上门过经

面的组是Notification带点recommendation

第一次HR安排电面竟然搞错了时间,搞得电面拖了一周但其实除此之外小蓝鸟是LZ面的所有公司里HR效率最高的了 无论是进度还是回邮件速度

电面题是给一堆record 有的信息是 user, epoc_timestamp, activity
然后有个叫user active minute的东西 就是如果用户在这分钟干过任何事情就算active了
按照用户活跃的时间分bracket 比如算一天的 bracket是100分钟 那就返还一个list, 分别是UAM为0-99,100-199 … 1400-1440 的用户
函数Input就是records和bracket size, 假设time span一个月
大概就是用个hashmap {user: set}这样读所有record 然后过一遍hashmap把每个user根据set大小放进一个array相应的bracket… 感觉没啥算法
activity不是log in log out 只是说user干了点事比如发了tweet 所以这个timestamp是active的 和题目基本没关系。。
bracket size如果是30, time span假设一个月, 结果就返回1440*30/30个item
还有一个细节呀,‘epoch timestamp’如何求‘user active minute’,讨论了下就整除truncate到minute就好
题目并不难 主要就是一些data structure的选择和细节 比如dedup timestamp 问清use case

然后就上门啦~

上门四轮 每轮都是两个人 感觉被两个人同时盯着压力还是挺大的

第一轮有个国人小哥 倍感亲切 当然没有表现出来(哈哈哈)
一上来差点就问了和电面一样的题 看来他们家是有题库的 但实诚如LZ说了做过 于是换成一道类似李口 勿溜
略有不同 Input 一个已有meeting的list 然后给你个新的meeting merge进那个list就行
一大早脑子有点短路没想到特别好的办法 但三四个if else也搞定了

第二轮俩三哥 有种来势汹汹的感觉
给一个二维board of characters 和一个list of words, 在那个board上可以任意起点8个方向任意走返还所有存在的words
先说了思路造个trie 然后搞bfs 三哥们表示欧凯
主逻辑写的时候假设有这么个trie 然鹅LZ准备的时候根本没写过 心里很慌因为到时还是要写的。。
但其实边写边解释边讨论花掉不少时间 最后implement trie的时候其实也大概猜出trie该怎么写了 只来得及写node和建trie的部分 但其实无论是isPrefix还是isWord都挺容易实现的只要node structure想好了 所以急急忙忙结束但三哥们表示很满意码应该没啥问题

第三轮半design半coding兮兮的
炒鸡friendly+可爱的黑人小哥 先问了一个timer API 可以register timer 每个timer有callback, initial_delay和periodic_delay 当然也可以delete timer
一开始有点会错意了 开始往thread方面想 但码出来也聊了不少时间
但话锋一转黑人小哥表示其实更像是个timer Manager 需要keep track of 所有在跑的timer 而不是让每个thread自己管自己sleep然后
运行就好
那就算下次运行时间用了个heap存下次跑的东西 感觉我说出heap的时候小哥眼睛都亮了 看来就是在等这个标答哈哈哈
然后只剩十几分钟 白人小哥问 你会大概怎么design 小蓝鸟用户的storage layer

第四轮BQ 俩manager问经历
其中一个真的超年轻啊 感觉和LZ同龄 被震惊到了
可能在小蓝鸟空间机会真的很多吧
HR神速当天就跟我约第二天聊 然后给了藕粉
其实一开始对小蓝鸟没有特别大的爱(连账户都没有 有个面试官和我说一定要说有哈哈哈)但感觉Team和人真的很不错!