0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一份NLP算法方向的社招面经

深度学习自然语言处理 来源:AI算法小喵 作者:年年的铲屎官 2022-08-03 11:49 次阅读

写在前面

今天给大家分享一份NLP算法方向的社招面经,当然校招也可以参考,希望对大家有所帮助。在今年这个相对糟糕的大环境下,面试者历经1个多月的刷题复习+1个多月的面试,最终拿到了多个大厂offer。

1.背景

2022年大环境不太好,整体hc(head count)比2021年少了很多,回想2021年,各个候选人所到之处,各家大厂中厂竭诚欢迎,hc充足,大家挑花了眼,那种生机勃勃,万物竞发的景象犹在眼前,没想到短短一年之后,居然情况急转直下。

情况介绍:我主要做nlp,也涉及到多模态和强化学习。2022年的大环境比较差,能投的公司不是很多,比如腾讯,主要还是高级别的,所以腾讯我就没投(说得好像我投了能面过一样...)。面了的公司包括小红书,抖音,寒武纪,蚂蚁,还有一些国企和研究院,比如北京智源人工智能研究院,某国内金融公司,其他的用来练手也面了一些,比如蔚来汽车,吉利汽车,华人运通,boss直拒,还有一些元宇宙公司,AI制药公司之类的,拿到了其中大部分offer,当然我自己也遇到一些拉胯情况,比如小红书二面挂[笑哭]。

2. 面试总结

这一个多月面下来,总体面试考察主要包括下面几个模块:代码题+项目细节+八股文+场景题。其中:

代码题

代码题,写不出来大概率还是要跪的,我觉得刷200道左右一般就问题不大。200道争取达到肌肉记忆,就是给出你题目你要10s之内给出思路,哪怕没有bug free,但是一定要保证有思路。有一点要注意,200道高频题刷2遍,好过400道题目刷一遍,重点还是刷高频题。另外推荐的刷题地址,里面可以选择公司和标签

刷题地址:https://codetop.cc/home

项目

项目细节我的感触最深,有些面试官会问的很细,在不断的试探我们的边界,所以项目细节还是要准备到位。通过这段时间的面试我反而对项目的理解更深刻,不知道这算不算面试给我带来的收益?

这里有一个提高通过率的小trick:可以和1个或者多个靠谱小伙伴一起,让大家看对方的简历,假设自己是面试官,然后针对项目出一些题目,这样一来可以查漏补缺,有点co-teaching的感觉,这个方法还是挺管用的,大家可以试试~

八股文

八股文的话主要围绕项目出题,比如你做了强化学习的东西,那么常见的reinforce,actor-critic,on policy和off policy的区别,一定要掌握。比如你项目用到了swin-transformer,那么swin-transformer和传统的transformer的区别是什么,patch merging怎么做的,要清楚。

场景题

场景题可能是大厂喜欢考察,小厂不一定问。

3.面经

废话不多说,面经奉上。

3.1 小红书

3.1.1 小红书一面

聊项目。

你们的训练集和验证集,测试集分别是多少?怎么来的?

宏平均和微平均是用来干什么的?是如何计算的?他俩的主要区别?

知识蒸馏为什么有效,详细介绍一下知识蒸馏?

强化学习适合在哪些场景使用?

智力题:如何用rand6实现rand10。

代码题:lc 76,最小覆盖子串。

3.1.2 小红书二面

聊项目。

layer normalization的好处是?和batch normalization的区别?你有没有看过有的transformer也用bn?

BERT的主要改进,包括结构的改进,预训练方式的改进,都说一下?(这里能说的很多,挑自己熟悉的说就行)

Reformer中,LSH(局部敏感哈希)是如何实现的?

CRF和HMM的区别,哪个假设更强?他们的解码问题用什么算法?

lstm参数量计算,给出emb_size和hidden_size,求lstm参数量。

cv中有哪些常见的数据增强方式。

简单实现一个layer normalization类,只需要实现__init__和forward就行。

总结:这一面压力不小,而且面试官从一开始就多次打断我的说话,说我目前做的项目没意义,而且表情好像不耐烦,不知道是不是晚上面试耽误他下班了。这是我体验最差的一场面试,当时我有点想和他怼起来,但是想想还是忍住了,最后挂了也是意料之中

3.2 抖音

3.2.1 抖音一面

聊项目。

AUC的两种公式是?你能证明这两种等价的吗?

BERT-CRF中,为什么要加CRF?好处是?

self-attention为什么要用QKV三个矩阵,不用有什么问题?有没有哪个模型的Q和K矩阵是一样的?

reinforce属于on-policy还是off-policy?为什么?

reinforce带上baseline好处是?reinforce的loss写一下?

策略梯度会推导吗?简单写一下?

代码题(代码题一般别着急写,先跟面试官说下思路,确定了再写):

lc 46,全排列(lc表示leetcode,下同)。

lc 73,矩阵置0。

总结:这一面我以为面试官只会问多模态,不会问强化学习,没想到这个面试官好厉害,强化学习也很懂,真的很强啊,我比较好奇,他们哪里来那么多时间看那么多领域的东西

3.2.2 抖音二面

介绍项目。

知识蒸馏有哪几种?你觉得哪种效果最好?

nlp的数据增强方法,主要有哪几种?每一种举个例子?

分类的损失函数为什么是交叉熵而不是mse?

BERT对输入文本的长度有什么限制,为什么要限制长度呢?

BigBird里面有哪几种注意力机制?相比原始transformer的self-attention的优势?

场景题:如何根据拼多多的商品数量,估计淘宝的商品数量?

给出emb_size, max_len, vocab_size, ff_inner_size,num_heads, 12层,求BERT参数量。

代码题:n皇后问题。

总结:给我来了一道hard题目,我以为我要挂了,结果没几分钟HR告诉我过了。

3.2.3 抖音三面

简单聊项目。

CRF和HMM区别?CRF为什么比HMM效果好?

如果BERT词表很大,比如vocab_size达到几百万,怎么办?

快速手写一些transformer的mha(多头注意力),伪代码意思一下就行。

为什么对比学习中,temperature很小,而知识蒸馏的temperature比较大?

你觉得在抖音买东西,和淘宝、拼多多他们的区别是?(我没在抖音买过,就只能现场编。)

你最近看到过哪些paper?简单介绍下?

你觉得自己有那些优缺点?平时喜欢怎么缓解压力?

总结:这一面的面试官很和蔼,一直笑呵呵的,后面就是闲聊了,体验很不错。

3.3 蚂蚁

3.3.1 蚂蚁一面

聊项目。

多模态的预训练方式你知道哪些,知道的都说一下?

coca和CLIP的区别?为什么coca效果比CLIP好?

CLIP预训练的时候,batch size达到了32768,他用到了哪些trick去提高batch size?

CRF的loss写一下,CRF打破了HMM的哪个假设?

对比学习为什么有效?cv和nlp的经典的对比学习的模型说一下?

多头注意力的头的数量,对参数量有影响吗?为什么?

transformer里面为什么要加add&norm模块?好处是什么?

代码:

简单实现一个transformer-encoder-layer,要求pre-norm和post-norm可选。

编辑距离。

这和我想的蚂蚁的面试不太一样,我以为蚂蚁的代码题会容易一些呢,之前看到的面经,蚂蚁的代码题一般以medium为主

3.3.2 蚂蚁二面

聊项目。

衡量对比学习的两个指标是哪些?公式?

transformer相比lstm的优势有哪些?

distillBERT, tinyBERT, mobileBERT和miniLM,他们是如何对BERT蒸馏的?

ViT是如何对图片进行处理的?为什么要加position embedding?

说到position embedding,transformer一定要加position embedding么?有些模型没有加pe,你知道吗?

beam search的思想,伪代码实现。

代码题:lc 33,排序数组的搜索。

3.3.3 蚂蚁三面:

聊项目。

多头注意力,给出序列长度n和hidden_size,那么多头注意力的时间复杂度是多少?

ALBert相比BERT的改进,说一下?

BERT预训练有哪些问题?后面的模型怎么改进的?重点说说ELECTRA和MacBERT。

有没有了解过,有的模型用生成的方式做信息抽取?

讲一下UIE模型是怎么做信息抽取的?其中的SSI和SEL说一下?

你老家哪里的?有哪些兴趣爱好?

你觉得自己优缺点有哪些?

我们走个流程,来一道代码题吧:lc 207,课程表。

3.4 寒武纪

3.4.1 寒武纪一面:

聊项目。

你知道哪些对比学习的方法?cv和nlp都说一下。

simCLR和moco区别?moco里面加k_encoder的作用?

moco v2, moco v3相对moco的改进有哪些?

resnet为什么效果好?残差连接的好处?

pytorch中,dataloader dataset和sampler的关系?

动态图和静态图区别?

蒸馏,量化和剪枝的原理大致说一下?

3.4.2 寒武纪二面:

聊项目。

简单介绍一些CRF的好处,CRF条件概率的公式写一下。

transformer相比lstm的优势有哪些?

transformer优点那么多,是不是可以淘汰lstm了,以后全用transformer?

swin-transformer和ViT的区别?数据量少的时候,他们和ResNet比,哪个效果好?为什么?

寒武纪做什么你知道吗?分布式训练用过吗?

pytorch的ddp和dp区别是什么?

你对混合精度的了解多吗?说一下混合精度的原理?

4. 面试感受总结

高密度的面试挺累的,所以我建议分阶段面试:前期面试一些练手的小公司,同时这些小公司也不能太水,不然达不到练手的效果,然后比如隔一周时间稍微总结下,接下来正式面试自己的dream company。

结对跳槽是个不错的选择,这次跳槽我和朋友一起跳,相互给对方出题,相互吐槽自己遇到的奇葩面试官,比自己一个人跳槽有趣的多。这次面试的复习过程也得到了很多大佬的帮助,比如 给了我很多指点和建议,没有他们的帮助我估计面试通过率下降一半,所以内心真的特别感谢~

持续更新中,因为最近面试完了以后有点累,加上本身工作也有点忙,面经没写完,后面会继续更新~

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 算法
    +关注

    关注

    23

    文章

    4599

    浏览量

    92625
  • nlp
    nlp
    +关注

    关注

    1

    文章

    487

    浏览量

    22010

原文标题:NLP算法面经分享

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    各位大佬,TPA6404数据手册官网的详细资料可以发一份吗?

    TPA6404数据手册官网的资料没有详细的。能不发一份 邮箱:354813374@qq.com
    发表于 10-09 07:13

    请厂家发一份CS1237和CS1238的C51驱动程序

    请厂家发一份CS1237和CS1238的C51驱动程序,hrblgd@163.com,谢谢
    发表于 09-08 18:51

    麻烦厂家发一份CS1237-SO的驱动程序给我STC版本的

    麻烦厂家发一份CS1237-SO的驱动程序给我STC版本的741891100@qq.com
    发表于 08-23 14:48

    一份CSU32P20的ADC范例程序

    一份CSU32P20的ADC范例程序,邮箱2605822110@qq.com
    发表于 08-10 18:04

    请求一份CS1237 的应用应用原理图和软件代码

    芯海老师好,我是小家电公司的工程师,准备做个电子称在产品中。我初次应用CS1237,有问题赐教。第1,请提供一份CS1237 的应用原理图和软件代码。第2,我们的主控单片是8位的,请问与CS1237连接通信有没有问题。原理图和软件代码最好请回邮件hmye@suncupi
    发表于 06-23 09:39

    一份CS32F031例程,公司在用替代STM32F030

    一份CS32F031例程,公司在用替代STM32F030,求例程,邮箱541595010@qq.com
    发表于 06-14 13:04

    一份CS1237基于STM32硬件外设SPI的代码

    一份CS1237基于STM32硬件外设SPI的代码
    发表于 05-10 10:51

    求助一份电路图

    各位大佬,谁有这个开发板的电路图,有的话可以分享给小弟一份
    发表于 05-07 12:12

    求助一份48V升220V的逆拓者逆变器电路图

    由于本人现在急需一份图纸,做维修参考,将对提供者表示感谢????????
    发表于 04-26 21:38

    请发一份CS1237使用例程,包括外围线路图和例程代码(最好是STM或GD的),谢谢!

    请发一份CS1237使用例程,包括外围线路图和例程代码(最好是STM或GD的), 640450701@QQ.COM 谢谢!
    发表于 04-22 10:32

    一份CS1237的驱动程序代码。

    一份STMM32F103C8T6驱动CS1237的驱动程序,那位大佬发下。邮箱2864165038@qq.com
    发表于 04-20 10:56

    STM32 IAP升级,KEIL如何一份代码运行于两个APP区?

    校验。目前的问题是,没办法使用一份代码运行两个APP。两个APP,则IAP跳转不同的APP,跳转的地址不样,则代码中需要设置的中断向量表及链接地址。这样,一份代码就不行了,而且两
    发表于 03-26 07:20

    一份明伟DRP—240—24电源盒

    一份明伟DRP—240—24电源盒电路图
    发表于 02-08 16:47

    一份CS32L010最新资料

    需要一份最新的CS32L010 ARM® Cortex®-M0 32 位微控制器用户参考手册,还有例程,邮箱43952588@qq.com
    发表于 01-23 16:26

    一份CS32L010F8U6的电机编码器捕获的代码

    使用CS32L010F8U6,电机编码器AB相输入,正交编码器,电机正反转获取输出对应脉冲数与方向,求一份测试代码
    发表于 01-23 15:49