面的Twitch的Search Relevancy 组;当时投简历觉得招人好像很偏重experience; 随便投的,结果很幸运的过了。
电面是一个工作了十多年的巴基斯坦巴铁哥们,全程没有live coding。先花了十几分钟介绍了之前做的实习项目,如果做search和架构。然后口述一下如何做一个 typeahead; 打Amazon自动返回搜索query中top 5以亚马逊开头的query. 时间复杂度,这个就是Trie + 序列化 + database 记录没太大难度。然后follow up是假如现在Amazon中 最top的搜索词条是 “Best Amazon Deal”; Amazon并没有出现在第一词中,但是仍然希望auto complete能补全这种词条。。我一开始想的很复杂,又倒排索引,记住query每个词对应Index. 然后按照index再找,面试官说太麻烦,有粗暴短平快的办法。遂想起,把query 改写一遍,再建立一个“Amazon Best Deal”的词条,就能继续用Trie来进行检索了。。面试官表示满意。
之后就进入NLP相关的问题时间,什么是LSTM, 和RNN区别,什么是Attention, 优化Adam和RMPROP是什么。去Neurnal Network的overfitting常见方法是什么,比如BN和Dropout. Dropout如何训练等等问题。。。然后问他的问题,问了一个Twitch是否有自己的Knowledge graph的问题,如何实现,面试官表示这正是我们想努力的方向,很好。。。然后就结束了。。