Soundhound SDE 面经

最近在准备soundhound的SDE machine learning platform,看JD应该是不需要懂machine learning的,特地整理了网上不多的面经。

店面一: MleAbc小哥,问了一个rotated array的data structure以及一些小的follow-up。之后问了regex,大概就是在一个base case上不断加feature去实现email address的抓取(常用的regex都考到了)

店面二: Vp,设计linkedlist类,实现反转链表,还有二叉树遍历

Onsite 4轮:

Round 1: 国人大哥,group anagram;number of island+follow-up(斜对角也算connected)
Round 2: 印度manager,聊项目;设计data structure支持top 10 popular topic查询(maxheap + hashmap); lc558;设计data structure实现实时的query 查询,比如要求得到t1 ~ t2时间内含”soundhound“单词的quer

Lunch: 和team和manager一起吃饭,一共5个人,来的都是毕业一到两年的abc,也不知道是不是一共就这么多人。

Round 3:印度hiring manager,merge two sorted array(in place);square root;square root with epsilon
Round 4: abc 小哥,一道hashmap+trie,处理的是一个语音识别工作中可能遇到的case
面完还有两轮加面 Round 1:nlu team的白人大哥,要求得到字符串全排列,让我用bit做,以及很多有关优化的follow-up Round 2: 国人老哥 principle scientist,如何证明一个数被7整除;diff between nn and svm;n gram;linux command

包括之前面的citadel,暂时还没结果,觉得面的不好,感觉有些公司data structure抓的很多。

补充同公司,但JD写了machine learning要求的面经,我把上面的问题也准备一下

算法题:忘了,反正不难,而且就一道 ML题:RNN和CNN的定义、用途。vanilla RNN为什么有梯度衰减问题,LSTM为什么能抑制梯度衰减。如果序列特别 长,用了LSTM仍然梯度衰减怎么办(不准修改网络结构)
(最后一问没答上来,面试官给的办法是把序列切成小段,每段依次跑LSTM,把前一段的final state作为后一段的 initial state。说实话我到现在也搞不懂这为什么行,这样做相当于直接把梯度流切断了,不是比梯度衰减还糟吗……欢 迎讨论)
数学题:掷骰子3次,求一次6都没有的概率

二面是我申请的职位的manager 算法题:利口溜酒、爸爸 ML题:overfitting现象、原因及解决办法,Statistical Language Modeling的一些基本概念(我这学期有一门课学这 个,和工作内容强相关,而且刚考过试知识都记得比较清楚,所以主动show off了)
数学题:若n为奇数,证明n^2-1被8整除

三面是VP of Engineering 算法题:利口而铃流、酒肆(可递归)、衣令儿(不需要分层,全部输出到一起)、儿妖、儿山(两题都是用数组而 非链表) (看似题很多,但是都是超高频题,而且本季面到这里已经面过20多轮了,这种题已经滚瓜烂熟,所以花不了多少时 间)
ML题:无(估计因为他不是搞ML的)
数学题:和第一轮一样