大家好,我是对白。
今天给大家分享一位23届普通双非硕士参加腾讯、百度和京东等大厂的日常实习经历,最终斩获百度算法岗实习offer,面经干货十足,希望能帮助到即将面试的小伙伴们,以下为原文。
本人目前研二,在后厂村某公司NLP日常实习,看到马上要到3月份了,很多同学要开始暑期实习面试或日常实习了。虽然我是不打算参加暑期实习了,打算在这里摸鱼到秋招提前批hh。但我想到我当初研二刚开学,21年10月份日常实习面试的经历,可能会对某些即将面试的同学有所帮助,所以决定把自己亲身经历的面试内容做个分享,以下所有内容均是面试真实问到的内容。
还有我当初日常实习面试的时候算法题都是最后才问的,不知道暑期是怎样的,但我经历的情况都是最后才问。
一. 京东广告NLP
一面:
1. 项目以及通过项目延伸的相关知识,除了项目里面用到的技术,与此相关的也要有些了解,面试官蛮喜欢问的,比如我就被问到Beam Search生成的句子基本都一样,是否有方法扩展生成句子的多样性。
2. Layer Normalization和 Batch Normalization的区别,padding对这两者有影响吗,对哪一维有影响。
3. 给定Transformer输入维度,头数,计算总的参数量。
4. 是否有大数据相关的经验。
5. LSTM隐藏层的维度,哪3维。
6. Resnet的维度,有几维(这个忘了是不是项目里有用到才问的,应该正常nlp不会问resnet吧)。
7. pytorch.Dataloader 报错出现数据维度不一样怎么解决。
8. 算法题(说思路):无序数组,找topK,要求比快排快。
二面:
1. 项目及相关。
2. Bert里面mask的用处。(15%)
3. 文本任务,文本是直接送入模型吗,有做什么处理吗。
4. 文本生成的多样性怎么做。
5. 怎么让生成的文本流程。
6. 红色和绿色是两种颜色,怎么保证不会把红色的东西输出成带有绿色的文本(质量保证)。
7. 对于两个词怎么算他们的相似度,用基于word embedding的方式。
8. 算法题(说思路):
8.1 最大子序列和。
8.2 给定一个长的标题,有一个禁用词词库,过滤标题里面的禁用词。
京东广告二面的问题基本是基于项目和面试官他们组做的事情来提问的,通用基础知识问的不多。
二. 货拉拉风控
1. 项目及相关。
2. 了解过Bert吗,说一下Bert。
3. 说一下FastText。
4. 说一下word2vec里面的优化方式(就是hierarchical softmax和negative sampling这两个东西)。
5. 算法题(说思路):Leetcode49题:字母异位词分组
三. 京东科技
一面:
1. Bert里面为什么用layer normalization,而不用batch normalization,分别讲一下这两个啥意思。
2. Bert里面为什么Q,K,V要用三个不同的矩阵,用一个不是也行吗。
3. Bert和transformer讲一下。
4. AUC指标讲一下。
5. Precision和Recall讲一下。
6. GBDT和Xgboost的区别。(问这些可能是我简历里面写了掌握这些知识)
7. Xgboost叶子结点的值怎么计算的。
8. LightGBM对于Xgboost有什么改进。
9. 防止过拟合的方式。
10. Adam讲一下。
11. LSTM为什么会梯度消失,怎么解决。
12. LSTM和BERT的区别。
13. 深拷贝和浅拷贝。
14. python装饰器的原理。
15. python多线程和多进程。
16. 了解哪些排序算法。
17. 说一下快排和归并的原理。
18. word2vec原理讲一下,hierarchical softmax和negative sampling讲一下。
19. Faiss里的hnsw怎么提高效率,讲一下。(项目相关的)
20. 了解SQL和Hive吗?
21. 分类任务不用交叉熵,用均方误差可以吗。
22. 算法题(说思路):有一个矩阵,从左上走到右下共几种走法。(DFS)
京东科技虽然JD是算法实习生,但是看招聘要求的工作内容主要是python开发,有一大堆我没见过的python库。
二面:
1. 项目及相关。
2. 说一下transformer。
3. 为什么要加layer norm层。
4. 为什么用Adam。
5. python的语法和框架。
6. 算法题(敲代码):手写个链表反转。
四. 陌陌推荐算法
一面:
1. 他们工作要求用的是tf2.0以上。
2. 项目及相关。
3. Word2vec,fasstext说一下。
4. 有亿个新闻标题,怎么进行词向量表征。
5. 怎么进行句子的表征(词到句子)。
6. Attention的方式。
7. beam search(项目相关)。
8. bert了解吗,看过源码吗。
9. 训练时碰到Nan这样的情况吗。
10. 交叉熵公式,softmax公式。
11. 检索式的过程(召回,精排)(项目相关)。
五. 百度NLP
一面:
1. 项目及相关。
2. 论文。
3. 说一下transformer。
4. Layer Normalization 和 Batch Normalization。
5. 知道git,shell脚本吗。
6. 项目里面具体怎么实现PGN的(项目相关)。
7. 你知道什么生成模型吗。
8. 算法题(敲代码):最长公共子序列,要求找出那个序列,要求代码能运行。
六. 腾讯PCG NLP
一面:
腾讯当初面试流程很慢,说共四面,每面中间隔一到两周,约我二面的时候,我都上班一周了,也可能那时候10月份速度慢吧。
1. 了解哪些预训练模型。
2. 了解哪些生成任务的指标。
3. 说一下free running和teacher forcing的区别。
4. 有些哪些过拟合的方法。
5. 项目及相关。
6. 论文。
7. GPT的训练方式。
8. 算法题(说思路):二叉搜索树,找第K小的值。
七. 京东健康 NLP
一面:
1. 项目及相关。
2. greedy search 和 beam search的区别。(项目相关)
3. RNN 和 LSTM的区别。
4. RNN 为什么会出现梯度消失的现象。
5. word2vec有几种方式。
6. 对于意思相近但表达方式不同的词,怎么知道它们是同一个意思。
7. 对于句子结构相似,但里面关键词不一样的情况,怎么注意到关键词。
八. 总结
我当初面试过的公司就只有几个,因为我面试时间比较短,9.27晚开始投简历,10.13收到心仪offer,后面就都没面试了。后面还有快手,美团约面试,腾讯pcg2面,但是因为已经上班了,所以都拒绝了。