一、背景
- 我最喜欢的tengxun, 今年北京nlp实习直接没有hc,觉得就没有缘分。。。
- zijie AI-LAB简历冷冻。[无法投递]
- 投递走了官网+BOSS直聘.
牛客也靠谱, 但自己刚开始投牛客上只有zijie和pingan。
投了zijie、jindong、didi、baidu、ali,安排了一周的面试。 - 一共花了两周时间,一周往各个厂投,一周每天都在面试。
二、面试经历
按时间罗列
1. jindong
好像是做广告推荐的,但我做NLP,其实并不match,邀请面试可能是因为相关知识点里写着熟悉常用的机器学习算法吧。
- 1、自我介绍+项目介绍
中间穿插着问了一些问题。 - 2、简要介绍下Focal Loss
- 3、样本不平衡时,二分类问题有用过哪些评价指标呢?
面试官想听我将ROC曲线和AUC,对不起,我没用过, 我做的项目就是比赛,指标当然是比赛的评价指标咯, hhh. - 4、说一下你用过的评价指标?
- 5、LR和决策树最近在用嘛?
没有在用,而且好久没看了。hhh, 我就这么耿直(现在想想,想笑) - 6、那你最近有用哪些机器学习的算法?
HMM和CRF,面试官楞了一下,没有细问,吐槽自己为什么他没有问,我也没有主动说呢??? - 7、说一些过拟合和欠拟合吧?
- 8、写一下快速排序吧。
内心吐槽,???这么基础的问题嘛,但我上一次看快排是5个月前,然后有个边界问题卡了20分钟,最后解决,我当时好想假装晕倒。 - 9、写一下最大连续子数组和。
哈,动态规划,秒了。。 - 10、反问三个问题。
问了下通知时间大概什么时候。
然后没有下一面了,— — !
但是,面试官真的不错,只能说岗位不match吧,事后还在想,这面试官我还蛮有眼缘的。
事后总结:
看了快排的边界条件, LR逻辑回归推导,决策树的分裂准则,以及ROC曲线画法,和AUC的意义。
2、zijie广告部门
简历是之前联系我的一个hr小姐姐帮忙投的,走的内推。现在不造要不要道个谢,内心纠结,不过我可能校招是无缘字节了。
面试整个流程依旧是机器学习。。。
- 1、自我介绍+项目介绍
中间穿插问一些问题。 - 2、谈一下过采样?
我说我是随机过采样,我猜到面试官想让我说SMOTE算法吧,可自己也没实操过,只是看了几眼,所以没说。 - 3、样本不平衡时用哪些指标,ROC是怎么画出来的,AUC的意义,公式计算,以及推导,AUC受阈值影响不?
AUC公式推导,没答出来,之前看得有点粗糙。 - 4、介绍一下LR,LR是线性分类器还是非线性分类器,LR用的对数似然和交叉损失熵有啥区别?
LR是线性分类器,因为决策边界是线性的,LR的对数似然就是交叉损失熵。这两点也没答出来。 - 5、计算 x^ (1/2)
梯度下降,也好久没写了,我连梯度下降的精髓都没想到,解决凸优化问题,我刚开始直接定义L = y - f(x), 这是线性问题,所以无解,之后面试官提示下,我才想到均方误差。 - 6、沿用第5题,所求值如果是1000000怎么优化梯度下降?
懵, 调整步长呗,但觉得学习率衰减,以及其他学习率策略…学习率都不会根据y值有太大变动,而Adam我一时可能也写不出来。这里的感触就是,这种自己都说不清的,猜结果的时候,猜的时候声音大点,自信点。要不人家也没听到。hhh
最后面试官建议牛顿法,听过,但忘了。
事后总结:
肯定挂了呀,超级难受,其实接zijie面试的时候就难受, 在想为啥我做了一年nlp,却面我广告算法。
之后对zijie提的问题做了小结。
3、didi
一面:
面试官声音很有磁性,不紧不慢。是我想成为的人。
- 1、自我介绍+项目介绍
- 2、问了各个评价指标, macro-f1和micro-f1的区别。
面试官一直说我不精简,的确我说的比较啰嗦。 - 3、知识蒸馏
- 4、介绍stacking level2阶段
- 5、说一下cnn、rnn、transformer在文本分类中的优缺点。
- 6、xgboost还记得不?
老实说,不记得了,但之前推到过公式、看过论文,如果可以的话,可以二面问。 - 7、谈一下分类任务和命名实体识别的区别?
- 8、bert和robert的区别?
- 9、topk问题
- 10、好像还有一道算法题。忘了
- 11、反问一些问题
事后总结:
因为岗位match, 所以很舒服,算法题也不难,老师也很棒,磁性声音就觉得很和蔼,超级开心的面试。
二面:
深度学习+机器学习
- 自我介绍+项目介绍
- 讲一下bert,假如我是个外行人
- bert做ner的时候, get_sequence_output的结果包含CLS嘛?
面试官说不包含,我下来看了一下源码,是包含的。 - 讲一下transformer, transformer有哪几种attention, encoder-decoder的输入QKV分别是什么?
- 讲一下过拟合和欠拟合
- 讲一下梯度消失和梯度爆炸原因
- 讲一下relu优缺点,以及有什么新的替代的激活函数
- 讲一下bert和robert的区别,为什么取消NSP有效
- 讲一下LR,LR为什么用交叉损失熵,而不用均方误差?
年龄大了,脑子不灵活了,面试完想到的,如果用均方误差,那想象一个二维平面中,和一个点同等距离的是一个圆,这样体现不出来概率的远近,所以mse不适合分类任务。 - 了解ELMO么
- 一个业务题,具体忘了
- 两道算法题,也忘了
总之不难。 - 反问三个问题
事后总结:
还行,但二面有点虚,因为有2个点没答上来。
三面:
没有技术了,谈了谈薪资福利,培养机制问题。
4、baidu
一面:
- 自我介绍+项目相关
- 业务提了2个问题
- bert可以做哪些任务,列举一下
- 算法题-字符的编辑距离
- 算法题-将文档中的所有字,如果在字典中存在,转为对应索引。
感觉kmp还行,但是kmp忘了,所以说了暴力,写暴力又在想优化,所以暴力也没写好。。
小结,写暴力的时候,就认真写暴力,别想优化,否则面试官认为你暴力都写不出来。。 - 反问
二面:
- 自我介绍
- 算法题-奇数放前面,偶数放后面, [不改变元素相对位置]
- 算法题-根据字符串建树
- 实习介绍
面试官夸我,开心 - 业务题-具体忘了
- 业务题-事件抽取的细节,如果某两个槽位很像怎么办?
- 反问
您觉得我的缺点是啥?
面试官说我其实做了很多事情,但没有说出来,实习的时候,面试官在意的主要还是沟通能力。
事后总结:
二面其实就是说说笑笑,超级开心
三面:
之前二面提到不涉及技术了,但三面还是加了部分技术?
- 自我介绍
- 比赛经历
三面注重点在和队友的搭配上。 - 项目经历
注重点在和实习老师的交流上 - 算法题-二叉搜索树转双向链表(从小到大)
口述即可,无需实现。 - 业务题-一个文档有标题和正文两部分,如何判断两个文档是重复的。
- 反问
5、ali
我不应该接笔试邀请的,因为等不了阿里的流程,接阿里的电话其实当时很尴尬。
笔试:
像是一面,但不是面试
- 自我介绍
- 业务题
- 算法题-合并两个有序数组
面试官希望我反向合并吧,我当时觉得没有意义。 - 算法题-寻找二叉搜索树中的目标值,如果找不到返回比target小的但最接近的。
- 算法题-等概率生成K个数,不能重复。
这种技巧性的,没见过,就是不会 - 算法题-快速排序。
- 反问:
问了ali流程走完需要多久,面试官说最快3周,提到了打算下周入职,可能等不了那么久,但还是希望去阿里。
比起想去阿里,我其实更不想呆在学校了,阿里可能也不会有下面了,毕竟提到了可能等不到流程走完,而且有道题还没做出来。
总结:
- 沟通能力
- 自信
- 岗位匹配
岗位不匹配,我就像个傻子,虽然机器学习基本推导我也能推出来,但一直细挖,受不了。