字节AI LAB NLP算法实习生二面凉+被捞后二面通过面经
AI Lab NLP实习生
一面:能感觉到面试官是个水平贼高的人 对machine learning那些推导、基础概率模型也有很深的理解,所以问我的东西也有点深,(我菜是原罪
问我的NLP项目,为什么没有用纯bert,有做过其他模型的实验吗
你觉得你的项目创新点在哪里
project里面有一个编译器项目 介绍一下
编译器如何把一段c语言代码转成汇编语言?需要经历哪些步骤,有哪些中间文件?
传统的machine learning的算法了解哪些? 你选择一个详细介绍一下(这里面试官说假设他是一个没有接触过这个算法的人 如何讲解这个算法 感觉很考察对算法的宏观理解能力)
svm相比于LR或者Perceptron 优势在哪里
详细说下svm的每一步 函数 优化目标 最后变成什么形式 在什么条件下 为什么要用对偶问题(这里就是问SVM的理论推导过程了)
bert的架构是什么 目标是什么 输入包括了什么 三个embedding输入是怎么综合的(每个词的表示是三个embedding相加的和)
bert中MLM任务的具体策略是什么(这里我了解到的是先以15%的几率选择一个词,然后80%的几率将这个词mask掉,10%换成另一个词,10%的几率不变)
transformer里面每一层的主要构成有哪些 (multihead-self attention+layer normalization+forward)
Seq2seq模型中decode和encode的差别有哪些(decoder的self- attention是加了mask的,另外decoder除了attention自己的context 还要attention encoder的context)
算法题
leetcode.121. 买卖股票的最佳时机
二面
还是先问项目
BiDAF(项目里提过的模型)怎么进行word embedding的
在进行word embedding的时候如果遇到一个没见过的单词 怎么处理 out of vocabulary的情况(答了直接置0然后跟随训练) 这样做会有很多误差,如何进行改进? Character embedding
了解BPE吗
Word2vec的两种训练目标是什么 其中skip-gram训练的loss function是什么
bert的mask策略(一面也问到了)
bert有什么可以改进的地方(这里面试官希望能从bert的后续模型比如roberta albert等去说)
L1正则和L2正则说一下 L1满足什么分布
了解bert之后的大规模预训练模型吗
算法题
1.求数组中所有子数组和的最大值 leetcode 剑指 Offer 42. 连续子数组的最大和
2.编辑距离 leetcode 72. 编辑距离
感觉一面答得还挺差的 结果过了 然后二面答得比一面好点 但还是挂了
其实现在回顾的话感觉自己有些东西答得确实不太行 有些知道的东西也说的云里雾里的 挂了也有是怪自己吧 然后半个多小时以后HR就打电话来说挂了 然后问我想不想参加AI lab语音组 nlp实习生岗位的面试 约了面试时间(从挂了到被捞只有一秒钟)
语音组一面
一面面试官说应该是我以后的mentor 人超级好 是唯一一个会先自己自我介绍的面试官 然后感觉面试大部分时间都是他在介绍业务啥的 反而我没回答多少问题哈哈哈哈
你觉得自己对模型的的更改能力怎么样 比如在模型中增加一些层去处理其他特征
手写过CNN代码吗
用什么框架多?Pytorch/tensorflow掌握的怎么样
比如bert的position embedding要加一些其他的运算方式 能否用pytorch定位然后写出来?
近期可以入职吗?有转正意愿吗?
算法题:给定一个正整数n,拆成至少两个数的和=n,让这些数的乘积最大
开放性问题 在一个文本翻译的项目中 你能预测到什么困难 预计能用什么方式解决
感觉这次面试很奇怪 问了好多你会不会xxx的问题 然后并不继续问下去考察我到底会不会 似乎只想知道我自己觉得自己会不会
二面
项目是QA相关的项目,面试官问了对非结构化文本信息做了哪些预处理,目的是什么
大型预训练模型除了bert以外还知道哪些?
GPT和bert间主要的区别在哪 双向transformer会带来什么样的好处 你知道GPT为什么不用双向模型吗 bert作为双向模型如何解决未来文本的信息泄漏问题
生成式模型了解吗 和判别式模型有什么区别
哪些网络结构可以作为生成式模型的结构(transformer,所有具有encoder-decoder结构的模型都可以做生成式模型)
生成序列的时候需要用的自回归结构 有了解吗(前一个时间的输出当作后一个时间的输入)
怎么去判断生成的截止点?比如给定中文生成英文,什么时候知道模型应该停止了呢(预测每一个word是截止字符的概率 取概率最大的)
接下来是机器学习八股:
CNN结构pooling的作用是什么
过拟合产生的原因有哪些 解决方法有哪些
常用正则化方式 L1L2正则化的区别在哪里 应该如何选择他们
平时变成用什么框架和语言多一些 对pytorch和tensorflow的掌握程度怎么样
算法题(感觉面试官在放水)
- 合并两个有序数组 结果存入其中一个数组中(已经开好空间) 从末尾元素开始 双指针
- 最长递增子序列 o(n^2)做法 o(nlogn)做法
一面二面是连着的 然后一天后通知过了 约了第二天hr面
hr面:
你之前做过前端的实习,为什么会想转nlp算法?
你之前两次面试都是二面没通过(还面过一个c++开发岗)这次通过了你觉得是什么原因?
手上还有什么offer?和字节比更倾向哪个?
课程压力怎么样?平时花费在课程上的时间一周大概有多少?
可以实习多久?会不会有什么因素导致你中途想退出呢?
hr面完后第二天就给offer啦!!感谢字节给机会!!牛客许愿果然很灵!