面经总结
微软STCA面试-面经
字节AI lab实习面试记录
腾讯PCG-腾讯新闻面试
百度(AIDU)-内容策略部门面试
百度(AIDU)-搜索策略-机器学习算法工程师
百度(AIDU)-知识图谱部门算法工程师(2020-07-08)
百度(AIDU)-NLP部门算法工程师(2020-07-10)
微软STCA面试-面经
2020-06-01左右在牛客上面投递微软STCA的面试简历,没看清楚,要求是research intern,对应要求是: 顶会+博士。 迷迷糊糊的也就投了, 上周周四时候stca老师联系我,然后发给我一篇ICLR文章(SKT模型),让我slide讲解,顺便考察,项目、文章、coding。
对应准备
- 其实刚开始是拒绝准备的,因为如果这次面试不过,准备的这些文章也好。其他的也好没什么用的对于后面秋招。
- 周五晚上时候正式打开了文章,但是因为是 做生成的 一堆推导的公式,看的脑子疼,所以看了看看看不懂就放下了。
- 周六拿出来又看了看,跳过公式,理解了其他部分。
- 周天好好的整理了一下这篇文章的思路,不懂的公式查了查书,差不多也懂了;
- 周一是巨忙的一天,deadline确实是生产力,首先先新建了ppt,然后就开始套路先安排上,截图截图总结总结,然后做着做着想 这样和翻译文章有什么区别,所以干脆直接整理一下这个研究方向,所以去找了一些这方面的研究,大概总结起来5篇文章吧,然后都下载了,看了看,打印完了爱着看了一遍,结论就是这篇SKT文章就是老流氓了,套概念,结果其实都差不多的,东拼西凑就文章出来了。 总共6篇左右文章吧,按照思路做了一下ppt,做ppt真的超级慢,之前老大对于做ppt一直有要求,所以做的比较慢。 到最慢边理解文章,边做ppt了,到最后做完差不多晚上1点左右了,然后就回宿舍了。 因为第二天上午面试,回去再看了一遍ppt,就完了。 coding、项目也都没有再准备了(现在想想确实是浪费了时间);
面试
- 没想到是研究员老师亲自面试,没有自我介绍,首先让我关了摄像头,直接语音就好;
- 流程1: 文章,因为我准备的文章比较多,然后就讲的时间比较长,过程中老师能力还是很强的,看一下公式基本就知道在做什么了。 然后中间有几个我没注意的老师也提出来了。 总共差不多: 30多分钟;
- 项目、文章: 这块比较快了,大概的讲了一些,主要老师想看看我们自己做的东西; 可惜这里很多都是不好量化的,科研能力等等都体现不出来; 差不多20多分钟;
- coding: 因为时间是来不及了,所以给了一个很简单的题,用双指针没写出来,然后说了一个时间复杂度高的,然后说了复杂度分析,她说可以,就结束了,最后也没有写代码,然后就是让我等结果了,因为还有其他同学是需要面试的。
总结:
- 给文章让讲的面试是第一次听说; 当然research intern也算是正常吧,毕竟主要是去发文章的;
- 中间过程浪费了很多很多时间,没有好好利用;
- 自己确实是平时做题的时候好像还行,面试时候就会出现,理解的不透彻,或者做的题太少,出现短暂的脑子空白, 从而变得慌;
- 求stca爸爸捞我;
字节AI lab实习面试记录
前言
- 随手投了字节AI lab的实习简历,因为觉得时间太晚了,所以对于具体的研究方向没有啥要求。
- 字节ai lab内部结构目前还不清楚,所以完全是看运气。
- 字节ai lab应该是国内少数的做 fqa、qa、kbqa的实验室了。
准备
- 刷题: 把自己以前面经中的所有题都刷了一遍,但是好像发现没什么用,一个也没有考到;
- 其他:
2.1 bert内部细节
2.2 BN那些
2.3 过拟合那些;
2.4 其他
面试(一面挂)
-
面试官年龄应该35+,一看就知道是 leader级别了,面试过程中也能明显感受到技术积累很强;
-
全程没有问简历;
-
首先自我介绍,完了说说方向问题;
-
让讲一讲KBQA的流程(我没做过KBQA),然后我大概说了一下3种研究方法;
-
让说一下一个完整的KBQA流程, 从构建到最后; 给定电影场景, 以及让说清楚其中的关键技术;
5.1 首先数据获取: 百科、电影网站等等爬取数据;
5.2 数据处理: 结构话数据处理(这个没啥说的), 非结构话数据处理: NER+关系抽取+时间抽取。
5.3 kbqa的流程了; -
提问非结构化信息抽取的技术难点:
6.1: 回答: 三元组获取的难点: 自由文本的问题,很难抽取出来; 文本的省略、表达多样化等等问题; 然后解决就是很多的对齐、消歧等做法; 这个了解的不多,后面补补;
6.2 其他的回答记不清楚了; -
实体链接过程中的 NER问题, 一词多义、一意多词解决方法;
7.1: 因为之前看过一点,所以就说了几种方法; 大体两个方向吧。 主要还是: 实体type; 然后实体上下文信息; 实体之外的额外信息等等; 知识库那边的: 词典信息、属性、关系信息等等; -
问题中如果出现: 多个实体、多个关系、多跳关系分别怎么进行处理? (直接懵逼,没做过真的很难回答)
8.1 多个实体: 实体消歧义、句法树、句子模式学习等方式,定位关键实体;(这个完全自己发挥,答案不知道)
8.2 多个关系: 关系分类等等,和上面差不多;
8.3 多跳问题: 这个很常见,但是我不知道怎么推理,然后就说了 阅读理解中常见的多跳推理的方法(哎。。。) -
neo4j数据库怎么进行多跳推理?
9.1 真的不会,说了我是用仅仅是展示多一些,然后查询,更多的是用的 遍历的那种方式; -
中间还有一些KBQA的问题我忘记了;
-
机器阅读理解模型,bert然后后面接 pointer net是不是就差不多已经解决问题了? 模型上有什么创新嘛?
11.1 我试图拉到阅读理解这块,打算说说阅读理解模型、阅读理解研究,被打断。 然后我说了 bidaf aoa等等模型以后,bert来了后面接模型上的创新的不多, 讲了一篇acl2019,bert后面用 句法树做attention的工作,然后说了一些GCN的方法; 然后具体没再说了; -
BERT multi-head attention问题?
12.1 从输入一个句子,然后公式推导了一遍,Wq,k,v ; 点积, 缩放, *V;
12.2 只问了缩放: 然后说了文章中的原话、softmax那些。 然后说了文章中的实验结果; 然后解释了自己没有尝试,这些都是文章中说到的; -
分类loss_function:
13.1 交叉熵, 然后说了一下;
13.2 情景问题: 我不用logit回归,用普通的 线性回归可以预测达到同样的效果嘛? 我说应该不行,然后我回答的不好,然后问我 限性回归的loss, 然后我结结巴巴说了 距离差距求平方和, 然后他问我, 你们现在还上机器学习的课程嘛? 我说 我没上。自己学的。 这里大概原因1.这个问题回答不好 2.线性回归那里不是很清楚,回答不流畅。 -
到这会差不多40多分钟了,完了做题; 一道很简单的题,找有序数组某个元素出现次数,O(N)肯定不用说了; 然后我说用二分查找,找开始和结束,他说这样最差情况复杂度会变为O(N),当时真的慌了。 然后让我想想看看怎么优化; 当时时间肯定来不及了,我就直接说了找下界、上届。 他想了想说 思路行得通,然后让我找左边的。 我写了然后结束条件他说while有问题,让我考虑考虑相等情况,我直接慌了, 然后一会儿就说不写了,时间差不多了,这时候 50分钟左右,然后问我有什么想问的嘛? 我问了一些,然后差不多56分钟,我说没想问的了,就就结束了。 其实现在想想如果冷静一下,那个肯定可以写出来,毕竟字节lab一般都是 中等以及难,哎,浪费了一次很好的机会。
-
补充: 中间问了 dst那个,没问项目,没问具体文章内容,问了讲讲dst和slot filling的区别: 因为我觉得真的区别不大,然后我说的 dst任务是nlp对话中的一个具体任务,然后现在主流的做法是拿槽填充做的,然后一些,,,。 然后说: 我觉得差别不大。 然后他又说: 这两个还是不一样的,从任务定义的角度再说说,然后我又说了一些,总之也不是他想听的额,然后他说: dst是一轮一轮,然后我说 对。。。难道就说这个区别????? 逗我? 后面再仔细看看这两个区别吧。
-
后面补充,想不起来了;
结果
过了2h左右问的hr,hr说没通过,给的反馈是: 项目深度不够, 然后代码还有空间提升(就是菜呗); 完了就完了;
总结
- 说实话,也没有问简历,很多东西真的是平时的积累i,可能这个是大佬面的,所以一般不问那些 套路的东西,BN、过拟合、w2v都不问。 主要还是: 具体场景,然后解决问题,还有就是自己太菜了,给了我一道easy我都没做出来。 kbqa的东西积累也不多; 阅读理解模型总结的也很多忘记了(过了年,基本没看过了); 等等,总之问题很大很大。
- 一般面试官遇到你会的,差不多你说完就下一个问题了,不会和你深入的交谈(我觉得主要是看你回答流畅不流畅)。 然后遇到不会的(回答结巴的),然后面试官会追着问,询问下去。 我有几次想拉回来,多讲一些我知道的,被打断了。 也不算是打断,就是切到下一个问题了。 可以试试,会的然后装不会,用一个思考的过程代替这种。
- 下次加油!!!
腾讯PCG-腾讯新闻面经
前言
- 投的暑期实习WXG, 但是后面才知道 WXG早都坑满了, 深圳-WXG, 深圳-PCG分别打电话问要不要面试,我拒绝了; 到后面过了几周 北京-PCG-腾讯新闻打电话问要不要面试,我说可以;
- 本来都不想面试了,但是想着试试涨涨经验就面试了;
准备
- 基本没有做准备,甚至于 之前的面经都没有看;
面试(挂了)
- 问了项目 20分钟左右;
- 写代码: dropout自己实现
- 写代码: 二分
4.场景问题: 垃圾评论识别 - C++ map底层(不会)
- BN
- BERT
- 忘记了
百度(AIDU)-内容策略部门面试(1H)-听口音应该是部门主管
- 做题: 二叉树最近祖先: 递归思路; 链表交点思路;
- 自我介绍:3分钟;
- 介绍简历:分别介绍了三个项目+文章,讲的很详细; 40多分钟;
- 最后问了损失函数, 多标签分类损失函数、所分类损失函数。
- 有什么想问的嘛
- 最后面试官总结: 以后可以讲的时候主要突出重点。
百度(AIDU)-搜索策略-机器学习算法工程师(1H)- 白白的小哥哥
- 语言模块:
C++的相关问题; - 编程部分:
1)Tire树的实现; 增删改查;
2)最长回文子串;(没做过题目,大概知道DP做,但是一直想用一维的做,没想明白转移方程,小哥哥带着我差不多写完了) - 机器学习部分:
- SVM:损失函数、高斯核物理意义,等等记不清楚了;
- HMM
- CRF:计算过程; 原理; 是不是全局最优化, 测试怎样选择多个结果;
- Beam Search
- 维特比
- EM
- L1稀疏
- 交叉熵为啥有用? 概率归一化、MLE
- XGboost
- 聚类算法
- NER传统机器学习模型
- W2V两种加速方法的具体实现、原理
- 其他一些记不清楚了;
*总结:真的问的很基础,还是自己太菜了,很多东西仅仅是知道一点点,没有认真去思考、去看。
百度(AIDU)-知识图谱部门算法工程师(2020-07-08)-77分钟
- 自我介绍;
- 做题: 二叉树最近祖先
- 问简历-主要集中于: 信息抽取、图谱构建
- 场景问题-一些业务场景的问题解决;
百度(AIDU)-NLP部门算法工程师(2020-07-10)-一面+二面(2.5H)
一面:
- 三个模块: 数据结构+语言、机器学习基础、深度学习基础
- 全程基本没有问简历
- 两道数据结构算法题
- TextCNN
- 深度学习一些开放问题
- BERT等预训练模型
二面:
- 基本全是项目+场景
- 项目讲了一部分就打断了
- 接下来基本全是实际场景中的问题,问怎么解决
- 最后反问环节主要: 说他们做的东西基本在刚才的询问环节都已经问过了。
总结
- 期待百度爸爸有三面;
- 百度的面试官的态度真的可以的,很舒服。
面试流程
- 2020-07-02 下午三点: 百度内容策略部门
- 2020-07-02 晚上7点: 百度搜索策略部门
- 2020-07-03 上午10点 百度小度平台
- 2020-07-06 周, 周三下午4点: 百度AIG知识图谱部门
其他人面经整理
算法学习与求职经验(腾讯SP,滴滴SP,百度,华为)
关于找工作,说点对后人有用的话(内附机器学习算法岗面经)
百度
百度: 百度内容策略部
一面:
问了transformer的encoder和decoder,几种attention的具体实现
BERT的优点,怎么对预训练任务的改进
算法题:判断链表是否有环
二面:
讲下SVM,软间隔、核函数
算法题:旋转数组
三面:
最优成就的一个项目,最遗憾的一个项目
面对压力怎么办,和同学,老师意见不一致怎么办
和不同部门怎么协调沟通,要数据不给怎么办
喜欢什么样的工作氛围,压力最大时是怎么处理的,职业规划
自己的优缺点,怎么改进
另外,有了解百度内容策略部等大佬吗?这个部门和美团的搜索与nlp中心比怎么样啊?