作者 | 我爱雪糕 整理 | NewBeeNLP
先说下感受吧。本人在今年3月1号(周日)投递简历,隔天周一hr就约了周四的面试,结果那天是2面视频技术面+hr面直接走完了,周五内推的学长就告诉我过了,紧接着就是offer call。整体投递+面试+发录用通知函的时间不到一周,而且面试官都是和简历对口的,整体体验非常棒。
PS:offer call里说我的leader是李航,看了看手里的小蓝书,意外的惊喜
面试的岗位是“AI Lab实习生 — 自然语言处理NLP”,一共2面技术和一面hr,这里主要说下其中的技术面试。
20min简历 + 30min题
先自我介绍,然后面试官说了句“好的了解”就直接进入项目了。
我的经历主要是一些竞赛,因此也是主要聊竞赛,在竞赛细节中扣一些细节提问。竞赛主要是关于机器阅读理解MRC的(百度机器阅读、莱斯杯等),面试官也刚好懂,大致问题如下:
其他还有些小问题想不起来了,总体来说问的面不广,但是扣了些细节。
最后是两道算法题:
很顺利的写出来了,一面结束,在线等二面。
先同样是自我介绍。
然后出了一道“智力题”?
10个袋子,1000个球,你用球填充袋子,然后就固定了。现在来一个客户,无论他要1~1000哪个数量,你都能通过组装几个袋子给他。
我开始对面试官说可以动态规划:第一个袋子放1个,第二个袋子放2个,这个时候3=1+2,所以第三个袋子不用放3个,放4个;此时5=4+1,6=4+2,7=4+2+1都能组合得到,所以第四个袋子放8个,以此类推。后来一想,这不就是个1,2,4,8的等比数列吗…
因为我提到了动态规划,面试官为了使用动态规划要满足的条件是什么?什么情况下时候动态规划比较好呢?答:使用dp需要满足最优子结构性质 + 无后效性,在子问题有重叠的时候可以自顶向下的记忆化搜索,或者直接写成自底向上的dp。
问我了一个C++的问题,后来看我很懵逼,看一眼简历说哦你是会Java啊,那我们换个问题,你说一下堆和栈。我说了数据结构的堆和栈,被打断,他说是内存分配中的堆和栈。这部分答得不好。
接着是简历了,主要也是问竞赛相关,听我这些竞赛的细节,然后针对细节提问,没咋问transformer、bert相关,问了更偏传统机器学习一些, 主要是一些关于gbdt、xgb、crf。
gbdt和xgb的就不细说了。
crf部分问的很详细,例如它的具体定义?什么是马尔可夫随机场?讲讲你对crf的理解?crf和hmm的区别知道吗,为什么ner任务用crf而不是hmm?crf具体如何预测?感觉答得一般。
最后2道算法题:
PS:时间有点久了,忘了很多…
- END -