阿里、腾讯、百度、快手NLP自然语言处理实习生面经

两年制硕士,今年春季开始找暑期实习,只有一个项目,一个比赛,一段本科时大厂数据分析的实习经历,无论文,直到5月24才等来了阿里的意向书,按照时间顺序,写一下具体面试内容,我就是人菜要求多的典范,小厂看不上,简历都没投,大厂投了要不是简历挂要不就是一面挂,磕磕绊绊俩月了,终于有大厂收我了

简历挂的厂:

微软

字节(后来发笔试通知了,但我没做)

好未来

搜狗

美团(笔试做完取消面试了,也没人捞我)

4.6 腾讯一面(挂)

1、自我介绍(一般会详细问简历中第一个项目或者比赛(除非面试官有比较偏好的项目))

2、介绍项目(印象中问了很多细节) ,比如怎么做self trainning的,多轮对话如何实现,三元组如何放入模型中、为什么选取这个模型。

3、删除链表倒数第n个节点(批评我不知道c++释放内存、不知道边界检查)

4、链表两两反转(写出来了)

总结:毫无疑问挂了,对项目比赛细节不熟悉,尽管两道代码题都写出来了但是代码不规范,边界考虑不到位

4.15 阿里云一面(挂)

同学内推的,感觉岗位不是很匹配,是做智能客服的,异常检测之类

1、自我介绍

2、介绍项目

3、介绍基本会用到的深度学习模型

4、介绍基本的机器学习算法

5、之前一段数据分析的实习经历

6、SQL、计算机网络的相关知识(left join和right join区别,分别取top k,TCP UDP区别 三次握手 计算机网络的五层协议)

7、大数据相关知识(spark、hadoop)

8、python基础语法(深拷贝、浅拷贝、元祖和列表区别)

9、一道算法题,求2亿以内的所有质数

10、业务相关(一段文本中有错误代码,请设计一个算法进行识别)

总结:和我的方向完全不相关,因为是电话面试,一边百度一边答,感觉还可以,但是面试官和我应该都能感觉到方向不匹配,所以也是毫无疑问挂了,但是还好没有帮我走流程,我还可以继续面试

4.25 快手一面(下午3:00 过)

1、自我介绍

2、项目相关(没问什么问题,感觉是个很青涩的小哥)

3、问了transformer缓解过拟合措施(LN、dropout、LI、L2正则化、残差结构),具体用在transformer的那些部分

4、问了一些数学操作都有什么用处,比如点乘,矩阵相乘、矩阵相加,拼接等等(我只答了相加的效果没有拼接好,例子是ELMo)

5、预训练模型相关,介绍了bert的预训练任务和项目上用的unilm相比有什么异同

6、自回归和自编码的区别

7、了解其他NLP任务嘛

8、算法题:输出一个树的所有好节点(好节点定义为当前节点大于等于之前经过所有节点)

4.25 快手二面(下午4:00挂)

1、自我介绍

2、项目相关(我说到自己项目的时候面试官就说我是不是面试过你师兄,因为你们两个是一个项目,我顿时就慌了,还说了你师兄姓x,面试官直接就说你就说你在项目中负责什么吧)

3、算法题,n个字符串,m次查询,前缀匹配(二分查找的思想)没做完

面试完面试官直接打电话问了我师兄那个项目的分工,看和我说的是否符合,然后内推人问我是否能实习半年,说半年能学到东西,发文章也可以和实验室,对之后秋招也有益(潜台词:我们不转正,我当时想要实习那么久,实习完都11月份了,咋找工作,你们还不转正,快手还大小周,当时就不想去了,于是说导师在出差,过两天回来了问一下能不能实习那么久,结果第二天就给我挂了,高贵)

4.28 阿里国际业务一面(过)

1、自我介绍

2、先做个算法题吧,就是根据字符串(例如(a(b(c(d e)))f))还原成一颗二叉树(先说思路,我当时特别困,面试官让先说思路,看有没有读懂题,再写代码,我说可以直接找左子树右子树递归做,面试官问那左子树好找右子树怎么找,想了几分钟说用栈进行括号匹配,写了半个小时代码,不知道写的对不对,但是感觉写的乱七八糟)

3、详细问项目为什么做生成式摘要,为什么不做抽取式

4、为什么选择unlim这个预训练模型

5、为什么你们效果好(因为任务简单,数据干净)

6、说一下你了解到的数据增强的方法(同义词替换、翻译、gan生成伪数据)

7、说一下transformer具体结构和LSTM相比有什么优点(可以并行计算,减缓梯度爆炸,一定程度解决长依赖问题)

8、transformer在缓解梯度爆炸的措施(残差网络、LN)

9、LN和BN区别

10、transformer多头具体是怎么做的(会增加参数嘛 不会)

11、为什么要做多头(可以get到不同领域的信息?我这么回答的)

12、直接截断就可以吗,让他们正交岂不是更能得到不同的信息?(没回答出来)

13、业务题:搜索的时候如何精准匹配用户搜索模糊的词语(例子:用户搜:防水桌布,实际展示:塑料桌布)

我说到了两个方法,一个是扔进模型做分类,进行匹配

二是利用树结构拆解

三是用启发式规则(没说太清楚)

13、反问具体部门做什么的,直接说一面过了,二面要到五一之后,他们部门只有一面、二面和hr面

4.29 腾讯一面(挂)

这个是现场面试

1、自我介绍

2、项目介绍(比较详细)

3、问了预训练bert的任务

4、问了序列标注的一些东西(我做生成的不太懂)

5、算法题一个序列 561234变成123456

感觉我的方向和他们部门不太匹配,所以两三天就挂了

5.8 阿里二面(过)

级别比较高,面试很短就半个小时

1、自我介绍

2、项目

3、问了你觉得目前的评价指标怎么样,好不好,有什么改进的方法

rouge bleu只能评测n元词重叠度,不能评测话语逻辑性,改进方法想不出来(内心os:想出来我早发文章了),只能扯如果在逻辑连贯性方面有提升,rouge值会有一定提升,也会表现出来。

4、在新闻生成中怎样保证不重复生成(PGnet里面类似self attention操作,对前面的token做attention累加,问还有其他方法嘛,说了一个给定权重,生成过的就降低权重)

5、如果做到可以生成多种多样丰富的摘要(比如夸张的,严肃的)

说了可以在单独编码和src端做attention控制不同种摘要

6、业务题:用户搜索如何展示短标题提升点击率(原始标题很长,手机只能展示部分文字,传统方式是截断)

根据已有的浏览信息给不同截断方式打标,训练模型。

7、标签中存在噪声如何处理?(1、降低权重 2、求解数据的置信度)

8、目前抽取加生成如何结合在一起做摘要的

5.14 百度一面(挂)

联系我的时候不想面了其实,因为我阿里感觉没啥问题了,也告诉百度了,但还是面了一下,增加经验

1、自我介绍

2、项目介绍

3、bert预训练任务及其变种(albert robera)

问了nsp和sop具体任务以及不同

问了为什么动态mask可以work(没答出来)

问了还有词mask知道哪些(Roberta就是,我看论文太不仔细了,给忘记了)

4、业务题:类别不均衡的二分类如何做?

首先评测指标可以用auc ruc等

可以上下采样扩充数据集

可以采用数据增强的方式造一些伪数据(同上)

5、算法题:两个stack实现queue

可能预训练部分答的不是很好,于是就没了消息

最后等来了阿里hr面,流程很漫长的就通过了

你可能感兴趣的:(实习,算法,自然语言处理)