2018NLP秋招求职记录
总结
首先介绍一下背景,博主来自大连理工大学,计算机专业研究生,研究方向主要是信息抽取、情感分析之类的。研究生期间一开始主要做实验室的课题(生物文本挖掘之类),后来又自己拓展了情感分析相关的课题,然后在18年6月参加了一个NLP的比赛。所以我简历上的项目基本就是这几个,两篇论文,一个比赛。
秋招期间前后陆续面试了大概14家公司,面的都是NLP工程师的岗位,拿到了9个offer。其中拿到offer的公司有百度、网易、贝壳、知乎、360、小米、科大讯飞、东软、vivo。
大概从7月份做完魔镜杯之后就开始准备,先刷了一遍剑指offer,然后做了LeetCode前100题里边的中等和困难题,又针对自己的弱项研究了动态规划、树、搜索之类的专题,这些算是代码题方面的准备。另外因为我面的是自然语言处理,所以机器学习算法也是免不掉了,我复习了下《统计学习方法》,推公式看到了随机森林那一章。从8月份开始就开始陆续的开始了内推的面试,然后也是在面试的过程中不断的发现自己的问题,一开始8月份的时候面试还是非常紧张的,到了后面10月的时候就有些游刃有余了,面试时有时还能吹个牛。下面我介绍一下各个公司的面试经历,只为抛砖引玉,给大家一点启发。
面试经历记录
CVTE
CVTE是我最早面的一家,我也没什么经验,所以在讲述自己的工作的时候也没什么底气。有时候讲完了还会加一句 “当然这个创新也不大”,“我觉得这样是对的”之类的,感觉影响了跟面试官的沟通。
一面 50分钟
首先上来自我介绍,然后聊了一下论文。基本上就是要把网络结构给面试官讲懂才行。然后他让我讲了一下模型里的self attention,gru的结构修改,还有各种attention的用法怎么做的。这里感觉其实面试官是非常懂这方面的,对于我的论文也有模型和解释有牵强的感觉。(这一段是我当时写的,我现在个人认为,面试官可能并不是太懂……)
接着又问我了一些比赛的情况,我讲了一下比赛中的一些操作。包括stacking,用没用特征工程,除了论文里的模型还做了什么,stacking两层分开训练还是联合训练等等
最后是一些零散的问题
词向量是作为网络的哪一部分训练的
讲一下贝叶斯公式,先验概率和后验概率。
二面
首先上来,又是讲论文。这次的面试官是个广东腔很重的,我们经常互相听不懂,交流起来比较困难。
然后我就论文中的一点跟他撕了快半小时,他可能不是太懂深度学习,对网络结构的灵活运用可能不是太理解,追着问为什么softmax能替代tanh,问题是我这边是做分类,并不存在替代了tanh的事。他最经典一句话:“你好像对GRU经典结构不是太了解”,然后说了一堆完全错误的论断……我结合GRU结构解释,他又听不懂……GG
阿里 菜鸟
阿里我投的是菜鸟的内推,岗位是自然语言处理。流程还是很快的,感觉很快就接到了面试。
一面 55分钟
一面比较基础,主要是了解一下简历上写的内容。
我简历上主要写了一个比赛三篇论文,他就让我介绍了两篇论文和比赛。
中途他会打断问一些细节,并不见得多难,但一定是和任务相关的,我猜是想判断一下你相关项目的真实性。主要是我介绍网络结构,他提一些他的建议,然后问有没有考虑过这么做。阿里的面试官水平还是非常高的,提的建议也是一针见血,很多思路我感觉对结果的提升很有帮助。
最后面试官让我问问题,我问了一个特别傻x的问题:菜鸟需要NLP做什么……面试官:……然后一顿讲解。然后让我传统机器学习的原理也要掌握。
阿里我只面了一面,后面二面的时候我在外面,想跟面试官推个时间,然后他就再也没有打过来了……大概也是因为阿里投的多招的少?不过阿里从来不约时间突击打电话,简直是考验心理素质。
百度 paddlepaddle
百度是在牛客网上找的内推,然后有HR联系加微信约定面试时间。这里必须夸一下百度,有HR全程负责面试的进度,这个非常舒服了。百度也是我八月份第一个拿到口头offer的公司,部门是深度学习平台部。
一面 50分钟
主要还是介绍简历上写的项目,我主要的项目就是发表的论文,就给他介绍任务背景,然后讲解网络结构以及其中的一些创新。他主要问了我self-attention的介绍以及self-attention直接用于序列建模的优缺点。
然后是一些深度学习基础问题,梯度消失的原因、网络权重初始化的目的。
最后是一道代码题,LeetCode上的,找到矩阵左上角到右下角权重最大的路径。
二面 50分钟左右
上来先是在线编程,一个是写二叉树深度,另一个是二叉树层次遍历。结果我二叉树深度那里写的有问题,面试官提醒我也没看出来,吓得我一身冷汗。
然后就是继续介绍项目,面试官可能更多是做开发的,对深度学习不是特别了解,所以没怎么提问。主要是问在项目中扮演的角色,提升了多少之类的。再就是会不会C++啊这种的。
在结束之间,我感觉自己第一题没答好,可能会跪,强行自己主动要求再争取一下,讲了一下我的比赛经历,在比赛中复现论文的经历。然后就加问了我的一些调参经验、batch normalization之类的问题。
三面 40分钟左右
三面是部门的一个项目经理。
上来先让我介绍一下在实验室一般都用哪些模型,我就具体结合一个项目给他说了一个,他也没怎么问问题。然后就是聊聊本科时候的经历,有没有开发经验、哪门课学得好这种的。然后聊了聊人生规划、谈论了一下部门的一些工作和前景。你是怎么学习深度学习的,学习生活中遇到压力怎么解决……等一些问题。然后我俩都没啥问题就结束了。
然后三面结束当晚HR发微信说技术面都ok了,这应该算是过了的意思?
百度整个面试流程体验都非常好,就是后面校招组的处理有些让人难过,八月份拿的提前批offer,直到十月末才打电话,表示十一月末给发正式offer,评级和薪资也是最低一档。虽然最后部门经理给我打电话,评级提升了一级,工资也涨到了跟我其他的sp一个水平,但是已经来不及了,我已经签了别的公司了。总之也是非常遗憾。
vivo
vivo是在八月份有个内推节,只要在官网投了简历就算内推,当时我在牛客上看很多人投了,就跟着投了一个,当时投了很多简历都没有回应,也想先拿个offer。
一面
了解哪些模型
讲一个项目
SRU听说过吗
最大连续子序列和
二面 HR面
评价一下自己
对vivo有什么了解
有女朋友吗
想在哪里工作
vivo 总体来说难度还不是太大,最后拿到了北京的小sp,但是要求很快就要给结果确定去不去,所以我放弃了。
搜狗桌面事业部
一面 50分钟左右
首先是介绍自己的项目,她会针对项目中的一些技术展开提问,主要还是集中在attention这块。总结一下每个论文的创新点之类的。
因为我做了一个问题相似度的比赛,就针对这个问了一个场景题,如果知识库中的问题没有是否相似的标签怎么办?我想了好几种标注标签的方式(包括用户对获得答案满意度作为标签)都不对,最后她说是把答案相同的问题作为相似的问题。
然后就让我回去等通知了,一面没有问算法题。不过很快约了二面视频面,估计代码是逃不掉了。
二面
本来二面约的面试官临时开会,所以换了一个女面试官电话面试。
首先还是介绍项目,感觉她理解了项目的内容,不过似乎没什么兴趣,虽然听的饶有兴致。
后面就是问问题了,LR过拟合该怎么解决,为什么用L1不用L2,模型的集成该什么情况下使用。
给我介绍一下词向量。
算法题:找股票合适的买入卖出时机,应该是个比较普遍的题,虽然我没见过(补充:leetcode上的)。是个简单的动态规划,我说了下思路她觉得还行。二面就结束了。
搜狗二面之后就没有消息了,应该是挂掉了,总结了一下原因,我觉得可能还是对于LR过拟合的问题没有回答好,我当时认为只能使用L1正则化,但实际上L2正则化从理论上也是有道理的。确实可能没达到要求。
贝壳找房
一面
一道贝叶斯概率题
然后聊项目
python 生成器、装饰器的使用
attention模型了解哪些
给定一个分类器的混淆矩阵,判断分类器的问题
二面
讲几个项目
有没有在大数据上做过模型
聊人生
三面 HR面
评价自己
如何选择公司
期望薪资是多少
有offer吗
贝壳的整个面试流程也是非常的舒服,虽然必须现场面试,但是报销路费。HR校招组也是耐心沟通,整体的待遇什么的也都非常不错。今年贝壳也正在扩张,所以招的人也非常多。
网易有道
有道同样是在牛客上找的提前批内推,因为我不想去杭州,所以投的北京的。网易的内推也是需要笔试的,
一面
似乎是因为笔试做得比较坑,一面提前批面试的时候,没被叫去现场,只是线上视频面试了一下。
LSTM每个时刻,有多少次乘法操作。
一个均匀的木棒,随机切成三段,三段可以构成三角形的概率。
一个车站,平均每分钟来一趟车,那么十分钟都不来车的概率。
通过了一面之后,等待了半个月,安排了现场面试,来到了北京网易研发中心。
二面
介绍一下自己的项目,对attention的理解。
详细讲了一个项目,然后做了一个代码题。
然后讨论了一下平时网络训练的一些trick。(到现在才发现,那会我的调参经验是多么的匮乏。)
三面
三面是总监面,主要跟我讨论一个现实的业务,主要是作文自动批改的一个场景。
我主要从任务定义入手,然后针对其中一个子任务,跟面试官讨论了各种建模方式。(回想一下,其实也是面试官引导着我去思考存在的问题和解决方式。)
四面 VP面
都读了哪些最新论文
工作中怎么和同事沟通,怎么处理各方面的需求,如何处理多个任务并行的情况。
怎么看待深度学习,怎么看待算法与工程。
网易的整个面试流程也非常的愉快,当时后天就要去北京了 ,我还没买到车票,用抢票软件好不容易抢到了。到了北京手机还没电了,借的街电充电宝还是坏的。在西二旗附近差点没找到网易公司。
小米人工智能与云平台
小米的面试经历总体来说非常愉快,面试官都比较年轻,而且态度也比较舒服,会引导你把话说完。
一面
讲一个项目。
对基础知识的考察,比如常见的排序算法,单链表的一些操作等。
二面
介绍一下比赛当中的一些工作,然后挨个聊了几个项目。
LSTM的公式。
知乎宣讲会
知乎来我们学校宣讲,顺便线下进行了面试。
一面
先简单讲一个项目,因为面试官是做推荐算法的,所以似乎对我做的NLP相关的不是太感冒,有个地方position embedding他的理解甚至略微有点回路清奇……好像在他眼里只有特征
然后问交叉熵为什么能做损失函数
以及在一个大样本中如何无偏的采样(我:GG)(理论基础还是需要在日常研究学习中补充的)
代码题是复制链表
二面
介绍了一下比赛,讲了在比赛中用的各种模型。
问了我预测情感程度的话,会采用分类还是回归。
代码题是在K个排序链表中找第K小的元素。
然后因为我说对attention非常了解,就让我介绍了了解的各种attention。
顺手还提问了LSTM、GRU为什么能解决梯度消失。
尽管知乎后面出了一些问题,但是就面试来说还是不错的。最后面试官校友也是加了微信关心了我们的情况,感谢。
科大讯飞
一面
挑一个项目讲一下
你比赛训练集多大
数据集有没有做什么调整
深度学习的优化方法讲一下
你写代码咋样
合肥北京怎么选择
二面
讲一个项目
说一下对NLP在现实场景中应用的看法
想做哪些工作
想在哪里工作
期望薪资
360信息安全部
360面试都是视频面,一个上午连续三轮,也算是强度比较大了。而且他们那边是所有人在一个屋里的,所以超级吵。
一面
上来先是聊项目,给他讲了一篇我的论文。然后他说你思路挺清晰的,好我们做一道题吧(我:……)
给定一个正整数数组,有甲乙两个人,两人轮流从数组中取数,取数时只能从头或尾选取,问判断甲会不会获胜。
我开始想的用贪心,面试官说不对;我开始往动态规划上思考,然后在面试官的提示下,想了解决办法然后写了代码。
然后他又给我看了一堆公式,我看了下是batch normolization的公式,然后让我求导,结果我掉进坑里了,gg
二面
二面面试官感觉不像是做AI相关的,他似乎不是太懂,问的全是一些泛泛的问题,之前这领域有哪些先进模型,你有哪些自己的思考之类的。
三面
三面是个HR阿姨,问我目前有哪些offer,怎么选择,有哪些考虑。然后觉得这个部门做安全的,可能让AI没法大展身手,让我做判断的时候也要了解一些安全方面的东西,看看自己喜不喜欢。