凑热闹参加了一波暑假实习面试,共投了字节、腾讯、阿里以及讯飞。基本已经结束,分享一波面经攒一下人品和运气值。
没有提前刷力扣,开始投简历之后才用牛客网刷题。刷题用python总超时间限制,所以刷题速度很慢,大概一道题要花一两个小时才能做出来。
字节
直接笔试成绩不够(一道AC,一道60%用例过)就感谢信了。
腾讯
意向选了WXG,在还没有笔试的情况下接到面试通知,跳过了笔试和群面直接一面。
牛客网视频面试,先做算法题1.单链表的排序(第一次面试太紧张了,紧张到手抖敲代码都总按错键盘,犯了很多低级错误),链表定义写错,连判断==都只写了一个等号。可能看我太菜,和我一起分析了代码之后就没有继续写算法题。
后面先自我介绍,根据简历让我先介绍一下最近新做的项目(比赛),然后问了一些细节性的问题。
(因为简历上写用到了模型融合)
1.问了BERT、XLNET、ERNIE模型的区别,优劣各是什么?
2.既然效果比LSTM等好为什么还要再和LSTM、GRU的结果融合,决策树是怎么构造的?(此处有点没答出来为什么和LSTM、GRU的结果融合后效果更好,面试官还非常温柔的和我一起分析)
3.有没有关注top解决方案,和你们最大的区别在哪里,分析一下为什么效果比你们好。
4.既然提到了transformer,讲一下transformer,你介绍了self-attention,说一下attention思想,self-attention相比RNN优势等
5.看你另一个比赛用到了命名实体识别和关系抽取,怎么做的,直接用BERT做效果如何?
6.百度这个比赛你写了做法和之前的类似,为什么比之前成绩要好,加了什么trick吗?
后面向我介绍了他们部门,一个半小时多将近两个小时面试结束。
不出意料,大概一周后流程结束凉了。作为第一次面试真的给了我很大信心,感觉面试也不需要那么紧张,面试官人也特别温柔答不上来也会引导着一起分析。复盘之后也为后面面试怎么表达有了帮助。
讯飞
看到哈工大讯飞联合实验室公众号在招人,想着HFL和自己研究方向一致就投了一下。这次面试是所有面试里最简单的一次,面试官是个可爱的小姐姐。先做自我介绍,然后选择了一个前几天刚给师弟讲了一遍的项目进行介绍,期间问了一些技术细节,举了一些具体例子,基本回答都对方比较满意,然后问了一些基础知识。你刚才提到了用了CRF,具体介绍一下CRF。正则化方法你知道哪些?还有吗?BERT中用的是?L1正则化和L2正则化的区别?平时用哪个深度学习框架比较多?考了几个torch函数(有两个没答上来,被说要再巩固下基础),然后写了一道算法题。简单聊了几句后就结束了,一共一个小时多一点。效率极高,过了两个小时就通知我说面试过了,而且只有一面,等可以入职的时候再联系。
阿里
(笔试两道题0AC)
【天猫精灵】
自我介绍完一面面试官说不太了解我做的机器阅读理解,所以又讲了一下问答和机器阅读理解,接着引出了法研杯多跳机器阅读理解这个比赛具体介绍了一下。问了多跳的实现和普通的不一样,然后围绕我说的使用了图神经网络又问了一些内容,但是都不是特别细节。这个面试官的方式是那种一个问题你回答的不是他想要的答案的时候会换一个方式继续问这个问题。所以两次他问差不多的问题(BERT相比word2vec的优势和BERT为什么能够训练出可以区分一词多义的embedding而w2c不行)的时候,我也很疑惑,就说还是前面提到的xxx,后来他说是想让我详细讲一下BERT的训练方式和W2C训练方式之后,才知道因为本质上bert的mask训练也和W2C中的skip-gram类似,可能后面问的问题想听为什么类似训练方式训练出的embedding一个动态一个静态吧。最后向我介绍了天猫精灵事业部,说我做问答和他们还挺匹配,聊得还挺愉快,要第二天补一个笔试。
笔试是伯乐测评,一道二分查找(一开始我返回了true和false,被纠正返回下标),第二题二分查找返回最小下标。一开始用了简单的找到相等位置后for循环向前匹配,被嫌弃复杂度太高让优化。然后又写了先字典遍历存储每个值对应下标,然后二分查找,查找到直接匹配字典里的最小下标。第三题是数组去重,要求新数组与原数组元素前后位置不变,还没写完半个小时到了就结束了。还是自己写的太慢,面试官说第二题写的不满意,第三题没写完,然后就挂电话了。晚上流程就结束自动投递新流程了。
【淘宝特价】
感觉淘特问的相对简单一些。
一面也是问的面讯飞讲的那个项目,但明显面试官更看重文本搜索(可能是部门业务相关吧),因为项目中是把数据存进es数据库,所以问了数据量、数据格式、数据平均长度等问题,主要问了很多数据预处理方面的内容。后面提到项目中的机器阅读理解发现面试官也不太清楚,就讲了一下机器阅读理解定义,分类以及目前的挑战,然后引到了最近在写的小论文(解决其中两个挑战)上,围绕小论文提到的问了一些,特别是围绕为什么抽取式阅读理解要对每个字做两个二分类判断是否是答案开始位置和结束位置这儿说的时间有点长(我的认知里MRC都是这么做的,为了确定答案开始位置和结束位置,没考虑过为什么,也没想过能不能其他做法,确实是自己忽略了的地方,面试官觉得这样很奇怪,围绕这个讨论了一下)。然后说笔试两道题都没做出来,看一下笔试题目吧。等念了笔试题目才发现是一开始牛客网的两道笔试题目,老老实实说写不出来,面试官有点不满意,当时写不出来现在还写不出来吗?下去没有再看看吗?(小声嘀咕,尝试狡辩,看是看了,也问了身边的朋友,知道是最优化和动态规划问题,但是还是没写出来,网上也没找到原题。)
本以为笔试题还是不会,也没有反问环节可能直接凉了,结果过了不到一周接到二面通知。二面问的更基础,不涉及工程问题。先是用三个简历上没有的词介绍一下自己,然后是基础知识。先抓住RELU问了一堆,又问了LSTM的门控和激活函数。然后问了transformer,又问了self-attention的时间复杂度和空间复杂度,问了相比其他attention的好处(只知道相比RNN好处,并未和其他attention比过),面试官引导性的说可以从计算的时间复杂度分析,就讲了一下self-attention计算,分析了一下和其他相比KQV的区别,最后还问了个啥记不太清楚了。
二面面完也不太有信心,主要网速差可能给面试官带来的感受极差(期间太卡了后来改打电话了),最后反问环节道歉的时候都能感受到面试官的无奈。可能是一开始的三个关键词给面试官留下来比较深刻的印象,还是收到了约hr面的电话。hr面就比较简单
1.自我介绍加项目介绍。
2.至今为止你最大的压力,如何转变心态的。
3.手里有无其他offer,会怎么选择。
4.反问环节
hr面完,可能是0AC,又加了一个伯乐测评笔试题目。
已收到意向书。