腾讯NLP算法实习面经

#腾讯NLP算法岗实习面试经验
一、背景:
本人2021届计算机专业硕士,目前研一,因为学校研究生学制是两年,所以春招投递了腾讯的NLP算法实习。面试所问到的问题会与自己的研究方向相关,所以下面提到的面试官所提出的问题可以作为参考,但也有一些普适的问题可以供大家作为今后面试的经验。

二、一面(技术面)
一面采用电话面试的形式,面试官应该是一个比较年轻的前辈,交流起来很温和,总体的体验很好。
1、自我介绍
主要介绍本人的基本情况,可以说一下主要研究方向、做过什么比较突出有亮点的事情,介绍个人性格及能力部分不要长篇大论,并且要有事实依据,比如说“我的团队协作能力较强,平时在项目中会与合作的老师同学在xx方面进行合作,也取得了不错的效果,比如说xx的项目,采用了xx的合作方式,结果来看xxxx,老师与同学也这样评价:xxx”。自我介绍中有亮点是最好的,可以根据个人情况进行发挥。
2、介绍一下xx项目:
这一部分主要考察对项目的了解情况,会问十分具体的细节,包括模型的原理及其中细节,比如说self-attention公式中为何要除以根号下dk,也包括代码的实现细节,比如multi-head attention在代码中是如何实现的。总之要对简历中的项目了解的十分详细,在面试前可以准备一下可能考察的点,提前组织一下语言(面试中语言的表达是很重要的一部分,在回答问题时对问题有十分清晰、有组织的表达也是十分必要的)。
3、在xx项目中xx部分为何要做这样的改进,具体是怎样做的,效果如何:
这里我认为最需要注意的是自己对上述问题答案的表述是否清楚,因为是电话面试,所以如何在无法画结构图的情况下让面试官了解你模型的结构、改进方法是至关重要的。
4、为何要用CRF代替HMM,HMM是基于哪些假设,CRF又打破了其中的哪些假设,为什么CRF比HMM的效果要好,为什么:
HMM以及CRF是NLP岗位面试中的常客,要清楚理解二者的原理及区别,在面试官提及相关问题时能够系统的说出二者的原理及差别。在这里,viterbi算法也是常考的一个点,虽然本次面试没有具体问到,但在讲解HMM时顺便说清楚viterbi算法也是一个加分项。
5、Bagging与Boosting的原理以及差别,二者哪一个是减小variance的(Bagging),哪一个是减小bias的(Boosting)
二者都是集成学习的方法,在这方面同样会考到GBDT以及xgboost,还有stacking等。
6、在xx项目中,是否采用了beam search的方法,简单介绍一下:
项目中没有采用beam search,之后介绍了一下beam search。
7、设计一下如何对文本中各个实体进行情感分析:
我在这之前并没有实际做过情感分析相关的工作,也向面试官表达了这件事,面试官说目的就是这个,就是看你不会才问的你哈哈。之后简要说了一下自己的思路,面试官也对我做了适当的引导。
8、有什么问题要问吗:
当时面试的部门是腾讯互娱,所以问了一下实习的具体工作,回答是会做一些海外游戏相关的知识图谱以及舆情分析(好像是,有些忘了)相关的工作。

三、二面(技术面)
二面采用视频面试的形式,开始以为会考代码,结果没有考,可能是前面的问题答的太菜了,面试持续了半个多小时就结束了。
1、介绍一下自己:
2、对传统的机器学习方法有多少了解,具体说一下svm的核函数相关的知识(并且在回答的过程中如果有不具体的地方会进行详细的追问):
听到这道题我就感觉不好了,复习的时候太注重硬间隔SVM的推导,疏忽了这块的复习,回答的不好,很多具体的问题都没有令面试官满意,所以复习还是要抱着对自己负责的心态,千万不能有侥幸心理。
3、对word2vec了解吗,假设skipgram模型输入为10000维,输出为100维,那么参数量是多少?;在word2vec训练是用到了一些trick(负采样和层序softmax),介绍一下具体做法:
这个问题也回答的不好,看来还是基础不扎实,好多问题在学习的过程中都被我自动忽略了,到这也对本次面试有了不好的预感。
4、transformer能否用于生成embedding:
之前还真没想过这个问题,但是想到BERT的双向Transformer-Encoder的结构以及BERT能够用来生成词向量,于是就拿BERT做了一个例子来阐释transformer是能够生成词向量的。
5、transformer相比于一般的seq2seq模型做了什么改进,是如何改进的,因此产生了哪些优势:
对RNN及Transformer做了一些对比,阐述了一些Transformer的优点,面试官也具体问了产生这些优点的原因。
6、开放题:如何统计哈尔滨一天的啤酒消耗量:
听到这题的时候怀疑了一下是不是真的开放题,问了一下面试官是要设计一个网络去做估计还是真的是一个开放题,面试官也确认了是一个真的开放题。我的回答是想要统计啤酒的消耗量可以统计各个饭店的消耗量,个人的消耗量可以忽略(这个回答太年轻了,以至于面试官第三次问了我“你确定吗”),但是当时真的就是这个想法,觉得个人啤酒购买量相比于饭店真的可以忽略,之后收集了一些意见表示啤酒是一个比较贴近生活的东西,各个仓买的销售量其实也是占很大一部分的。最后我的回答是通过统计各个啤酒供货商每天的出货情况,以此为基础估计啤酒的消耗量(第二天出货量-第一天出货量约等于消耗量)。
这类的面试题还是第一次遇到,没有经验,不知道自己的回答是否get到了面试官想考察的点,也希望大家能够在评论里交流这道题面试官想考察的点以及思路,向你们学习学习!

四、总结
两面结束后感觉二面十分悬了,但是也是个十分有用的经验。让我深有体会的就是在学习的过程中,要知其然且知其所以然,不能觉得哪个点不重要或者不常用或者难以理解就忽略这个点,还是要踏踏实实把基础打牢,这才是面试成功的最优解。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值