写在前面
首先非常感谢师兄的内推!本人笔试的时候死磕第一题也只过了50%,第二没时间做了。然后四月初有位面试官加我微信,想约一轮面试。本来以为笔试没过的,收到消息之后开心的去准备面试了。
一面 80min
- 自我介绍
然后就开始细问最近一个项目的细节(我的是一个文本分类的项目),用的各种模型然后特征工程的方法。
- 为什么要用CNN,Bi-LSTM?如何用Attention?
- 现在用的方法有什么缺陷?有什么提升空间?
- 了解过BERT吗,里面的三种embedding分别是什么,为什么要这样做?
- 如果要用树模型的话,可以做哪些特征工程?(n-gram,tf-idf,w2v)
- 假如说句子长度差别很大的话,tf-idf这个指标会有什么问题?one-hot encoding这个指标又会有什么问题?
- 介绍一下SVM,优化为什么要用对偶?
- Xgboost的应该着重调哪些参数?
- 之后手撕了两道lc的代码,在阿里伯乐上写的,大概medium的难度吧。然后就是惯例的提问环节。
面完第二位面试管给我打了电话跟他约了个时间
二面 30min
这一面也是着重于问之前的项目。有一些于之前一面的问题有交集,一些一面没问到的问题如下:
- 讲一下训练词向量的方法(w2v,skip-gram,CBOW,glove)
- 假如说处理一个多级分类的问题,有没有什么办法只用一个模型?(multitask
- 如果说multitask的输出y之间互相有制约关系,要怎么处理?(之前还不知道有CRF这个东西,就说了如果输出的y之间冲突了就引入一个loss。面试官说看来你还不知道CRF,下去好好学习一下)
- 如何可视化和理解你的模型?(遮挡实验,attention score)
三面 30min
这一面估计是一位大佬来,非常荣幸有这个机会hhh,问题的话主要也偏向于广度而不是深度了,大概包括这些问题:
- 最近这个项目你负责的内容?
- 除了NLP的神经网络模型还了解过其他的神经网络模型吗?(答了图像分类的CNN,GAN,推荐系统的wide and deep)
- 一般如何去学习新的东西?
- 你本科是数学专业的,那你讲一下如何检验两个分布是不是一致的?
交叉面 30min
一开口听到面试官说自己是XXX部门的(另外一个部门)就知道是交叉面,感觉离走完面试流程不远了
- 介绍一下你最近的项目用的模型和他们的有缺点吧。(bala说了一大堆
- 对于一个多级分类问题如何解决?(不同阶段用不同分类器)
- GBDT v.s. XGboost
- 如果数据不充足,或者说非常不平均,要怎么解决?从数据增强和建模来讲
- 如何学习新的东西?(又问了这个,肯定避开纯看博客这种学习方法了hhh)
hr面 40min
面完第二天收到了hr面的邀请,之前听说阿里hr面不太简单,所以还是用心准备了很久,没想到还是有问题让我猝不及防?
- 你研究生专业是XXX,但是你为什么不申请XXX这个岗位呢?是不是学的不够好?(从自己兴趣点来讲,更喜欢算法工程师(晕了)
- 假如说算法工程师招满人了,愿不愿意去XXX岗位?
- 有收到其他offer吗?怎么打算的?(本来说了是大厂offer,还让我说具体哪个大厂。。。然后结合岗位做的事情说了一下自己更喜欢这边的工作内容 -之前项目的难点是什么,怎么克服的?如何学习新的东西?( 3)
总结
感觉阿里笔试要认真做(题目灵活性还是很大),然后积极找找师兄内推还是很有机会参加面试的。面试官很看重基本功,和逻辑思考能力。有些项目的问题可能自己也没考虑过,不过也不要担心,重要的是如何去分析和解决那个问题。所以感觉考察的方面还是挺综合的。
- END -