下午面试的,趁还记得写个面经好了。
-
压缩数字。e.g. 1 -> 11, 21 -> 1211, 33333 -> 53。follow up是给你一个output,找到所有可能的input。e.g. 1211 可以是21也可以是121个1。
用了dfs,最后提示可以用memorization优化,但是快结束了没时间写了,提了几句怎么写。 -
20+年工作经验的大姐,问题是remove duplicate pin, 给定一个list 的pin,排序的,和一个api diff(pin1, pin2) 用来决定两个图片的相似度,问怎么找到重复的pin并去掉靠后的。
肯定不能蛮力比每一对,怎么做可以讨论下,因为我自己做的也很烂。 -
design轮,当推送广告给用户的时候,有两个rule,一个是一小时内看过这个广告了的不能推送,一个是一天内看过这个广告超过10次的不能推送。怎么实现这个判断。
先说了很多in memory 的 map啊,然后问道那deployment的时候怎么办。后来提到了用key value store他好像比较满意,比如亚麻的ddb,用户id做primary key,timestamp做range key,这个可以快速查到用户看过哪些广告。然后又问道这样的设计的话怎么样处理用户看了广告这个event,就说在event stream里面加个subscriber然后update这个table。又问到了那用户点击了但是这个event还没处理的期间怎么办。问得很细。 -
black list words,面经好多都提到了。用trie做,妹子做前端的不太懂java只能拿代码跑才能看对错,所以bug free很重要。follow up问了你觉得这个系统会是怎么样的存在,答说最好是web service, 因为会要求realtime反馈。
这题准备了一下所以这轮还行。
整体感觉差强人意吧。有小挂点。
补充内容 (2018-11-11 06:32):
HR跟我说惜跪,可以理解。
感觉第二题其实别人想问的就是蛮力比一遍,然后再给follow up,但是我自己把自己绕进去了就连第一问都没答完。