春招平安寿险NLP算法工程师一面
项目一:
-
介绍一下word confusion network
-
embedding如何学到语音信息,为什么不用拼音来学。
-
对比的baseline是什么,Word2vec,fasttext不能冻结emb不知道嘛? (知道,所以我后面用了transformer做对比实验)
-
介绍一下transformer结构和bert的结构(blablabla能说的都说了)
-
我说到多头的效果其实是存疑的,他说不是的,bert之前多头就广泛应用了,我没有继续说。
所以没有问bert源码,也没问word2vec源码,也没问其他细节,因为被怼项目的意义不大,不如分离先做纠错模块再做NLU
项目二:
-
LSTM具体的结构一点一点细说
-
PGN怎么解决OOV问题?
-
vocab_size为什么会减小?是不是理解成取topn个词频最大的?每一步的vocab怎么构建?
-
其他的copynet方式有了解么?(No)
-
重复文本生成怎么解决的。
其他相关:
-
bert变种有了解么(介绍了一下roberta和xlnet针对mlm的问题的改进,讲了讲DisliBERT,但是具体细节没讲,因为不知道...)
-
知识蒸馏的应用(同构蒸馏,模型压缩之类)
-
知识蒸馏的具体过程(从公式开始讲,teacher的soft prediction之类的,还有损失函数的构建)
-
EDA有了解么(只知道同义词替换这类的,没有详细了解)
-
样本分布不均怎么解决(重采样:分层抽样,重加权:focal loss之类)
-
降低过拟合的方式(模型层面降低复杂度:dropout,正则化等等,数据层面确保测试集训练集分布一致:降噪之类)
-
讲讲batch norm(从norm到batchnorm到layernorm)
提问面试官:
-
组内业务是什么
-
实习时候的一些关于对话系统业务上的疑惑
面试官点评:
感觉我有点紧张,准备没有很充分所以没有很满意,肯定会给过但是下一面他leader非常非常严格已经挂了很多人,不好好准备肯定挂掉。
总结:
面试官风格属于业务导向:一面几乎没有问项目相关的基础知识例如word2vec, fasttext, beam decode, seq2seq ,hmm这一类,问的全是项目的细节(但是他说还不够细。。他leader会问得更细,难道二面可能会让我白板手写代码公式?)。很多时候我的表述也不太清楚会导致拖沓。
本来中途面试官表示时间差不多了,但是又继续问了一些问题,猜测可能是濒临挂的边缘他决定再让我试试,平安寿险的NLP确实是强
实习期间几乎没刷题,第一道题不难但是差点没做出来,很悬。
继续努力吧。