励志!充满干货的AI面经:纯电力员工如何成功转行NLP并薪资翻倍


大家好,我是集五的学员,经过长时间的学习,我成功从电力行业转行AI,薪酬翻倍。但需要要说明的是,作为电力行业的基层员工,工资本来就低,所以工资翻倍对于各位本就在IT行业内的朋友来说,没有什么参考价值,纯粹贻笑大方,只能我自己偷偷窃喜一番。应July校长的邀请,我腆着脸来班门弄斧,和大家分享一下面经和经历。

单刀直入,先分享我的面经,至于转行的部分和我的经历,我放在最后面,这样有兴趣的朋友,可以参考。
我选的方向是NLP。
通识部分(小编注:绝大部分面试题都可以在七月在线APP中通过搜索相关关键词搜到哦):
1.LR
介绍一下?公式推导?损失函数及其图像?与线性回归的关系?你在什么地方用过?怎么用的?

2.正则化
解释下正则化?

3.DT
ID3?C4.5?CART?区别,优点、缺点,计算公式?
为什么DT不适合稀释数据?
预剪枝?后减枝?
3.1 Adaboost
介绍一下Adaboost?手推Adaboost
3.2 GBDT
GBDT腾讯面试必问,因为我去的鹅厂现场面试的,被问到了GBDT的相关内容,而旁边一个面试官在电话面试,也是在问GBDT的内容。
介绍下GBDT?GBDT的基模型是什么,是分类树还是回归树?Gradient的体现?为什么要使用多棵树来不断缩小残差?而不是使用一棵拟合得更好的数?GBDT如何构建特征?GBDT如何用于分类,写出公式?
3.3 XGBoost
手推XGBoost必备的。
你在什么地方用到了XGBoost?它和GBDT的区别在哪里?你为什么不用LightGBM?
XGBoost不手推一下,说的内容感觉会很苍白。
3.4 随机森林
解释下随机森林?
你用它做过什么?为什么可以用它?
解释下bagging?

4.SVM
手推SVM,必备的。
SVM的损失函数是什么,为什么选择它作为损失函数?
为什么用对偶?
核函数是什么,有什么作用?你用过哪几种核函数?这里最好写出来。

5.深度学习部分
解释一下交叉熵、相对熵,它们的关系?互信息呢?
Cross Entropy是什么,它和log loss的区别?
Dropout防止过拟合的原理?
CNN如何用于NLP?CNN和RNN在NLP中能到达什么效果,怎么选择用哪一个?
梯度消失?梯度爆炸?
解释下LSTM,画出结构?GRU?为什么用LSTM不用RNN?

6.特征工程
如何处理缺失值?异常值?为什么这么处理?
怎么降维?遇到的数据最大多少维?你怎么做?为什么这么做?
类别型数据的处理?连续性数据的处理?你怎么分桶的?
数据不平衡怎么做?要注意什么?

7.聚类算法
你用过什么聚类算法?解释下原理?
K-means有什么问题?如何解决这些问题?
说一说“中餐馆问题”——抱歉,这个我现在还没搞明白。

8.降维
解释下PCA?LDA?SVD?区别?手推。
解释下协同过滤?

9.模型评估
Accuracy、Precision、Recall、F1-score、ROC、AUC
以上,概念、公式?
数据不平衡用什么评估指标?
P-R曲线和ROC的区别?

NLP方向的问题:
1.TF-IDF
原理、公式?为什么用log?为什么“+1”?缺点?

2.NNLM、Word2vec、Doc2vec、FastText
介绍一下,解释一下模型?
怎么选择使用Word2vec、Doc2vec?
解释下Huffman Tree或Negative Sampling?详细说下Huffman Tree或Negative Sampling的过程?
Word2vec有什么优点、缺点?
Word2vec的模型参数怎么设置的?
余弦相似度?为什么使用余弦相似度?

3.Seq2seq、attention机制、self-attention机制、Transformer、bert
介绍下模型?
attention机制、self-attention机制的计算过程?为什么使用attention?它们的优点?
bert的结构和应用?bert的为什么这么厉害?

CNN→RNN→LSTM/GRU→seq2seq→seq2seq-Attention→Transformer-self Attention→bert
这是一条线,我在说RNN的部分时,就把这条线顺着说完。

NNLM→Word2vec→Doc2vec→FastText→ELMO→GPT→Bert
这是另一条线,被问到Word2vec时我先退回去说NNLM,然后在Word2vec,要是面试官不反感,又继续沿着线走。

其他:
1.根据简历上写的项目来进行具体的提问?
数据量?数据来源?为什么想到真么做?这么做优点、缺点?
Python迭代器和生成器?

2.算法题
不说了,我面了那么多,一道题都没答上来。校长说的四大金刚之一:leetcode(小编注:校长的口头禅四大金刚指的就是:课程 题库 OJ 竞赛),因为自身原因,我战略性放弃了,之后一定要补起来。
去某手机厂面试的时候,上来直接来3道题,把我干懵了;
对于这方面能力和我不相伯仲的朋友,我建议电话面试优先!一般电话面试不会去问算法题。

3.非技术面
为什么转行?
这是转行的朋友肯定会被问到的问题,一定想好说辞,好好准备。
未来规划?
薪资期望?
你遇到的最困难的事?你如何解决的?
评价下你自己?
你有什么问题要问我们?


我的笔记全在印象笔记上,自己又根据七月在线的题库对问题和答案进行了整理后,制作了Anki卡片,用来记忆各种知识点,如果有朋友需要,请看本文的置顶评论。(另外关于Anki和它的使用,自行百度即可,记忆知识点的神器。)

转行的经历
学历本科,专业是动力,完全与IT无关,毕业后一直在电力系统做设计工作。后来工资实在太低了,活不下去了,得知我单位的一个好兄弟,转行进了华为,年薪50W,目瞪口呆之下询问了一波他的经历,知道了七月在线和机器学习。再三权衡之后,也下定决心准备转行,从事AI相关的工作。当然,他是清华核物理硕士,数学本来就很骚,大学期间学过Java,我和他没有可比性。

我没什么编程基础,大学里学的C++早被门外的旺财吃了;因为是工科,对高数、概率论、线代还有点记忆;机器学习、深度学习相关算法,在此之前从没接触过。

报名了集训营第五期,是我的开端。不会就学呗,不懂就问、就查呗,CSDN、Github、stackoverflow、群里提问,线下课有问题就问,没什么方法。看一遍不懂就看两遍,不行就三遍以上,搞懂,能推导。没什么捷径,真的。我是用了七八个月的时间,才达到了目前这个嘴炮菜鸡水平,未来的路还很长,要学习和弥补的东西还很多,不过转行了,做中学吧。我另一个兄弟,也是我的同事,集六的学员,在我之前拿到的offer。

推导公式,很重要,非常重要,就算面试官不让你写,你也抢过纸和笔,写出来,不然我感觉真的太苍白无力了。而且现在水涨船高,SVM和XGBoost的推导已经是常规操作了,不是特殊技能了。
Tensorflow必须掌握,别说自己会keras了,丢人,真的,不开玩笑,至少我遇到公司都是这样。简历上最好把深度学习的知识具体的体现出来,比如你在某个项目上搭的模型是什么样子,这样更容易获得面试机会。
最好是会使用Hadoop和Spark,这也慢慢成了必备技能了,我目前还不会,虽然集训营讲了,得赶紧在入职前学习一波;最好会SQL,这个我就完全不知道了,后续又学习。
我觉得最重要的课程是七月在线的机器学习第八期或第九期;西瓜书、统计学习方法、花书,要是急你不看也行,但是我上面提到的问题,你必须都知道。

关于找工作,我是海投了一波,广撒网,双手合十,一切看天。真的得看运气,说不好的。拿到Offer之前,少吹牛。我去年年终奖比别人少了一倍,怒火中烧,年会吃饭直接避开领导,当面回绝敬酒,只和身边二三关系要好的同事酒到杯倾,一饮而尽,并笃定说年后自己要走。但是几次面试折戟之后,心里开始慌了,想到前路茫茫和自己之前恬不知耻的吹牛夸大,实在是羞愧难当。但是家境又确实不允许我辞掉工作去完全学习和等待面试,得断粮饿死,所以又准备腆着脸继续忍辱负重,希望守得云开见月明。没必要的牛皮给自己又添上了沉重的心里压力,真的没必要。“闷声发大财”,自己实力过硬是关键。

我现在还是孤陋寡闻的小菜鸡,要学习的东西还非常多,不敢说分享成功经验,只能说分享下自己的经历。现在成功转行了,我还是很开心的。当然,我能够成功转行,要感谢很多人:助教Yang,助教马总,寒老师、July校长等,集五的波哥、成哥、飞哥、Miss Jiang、锋哥、长林哥等等学员,还有甚者线下的Paul、安哥、瑞哥等,集四的九州、思佳,集六茂茂。你们对无知的我的给予的帮助,给了我非常大的助力,一直铭记于心,十分感谢。
已邀请:

逆转

赞同来自:


这是ANKI文件的附件链接:
链接:https://pan.baidu.com/s/1ZykXwriPZW7W-Xfv61ijdQ
提取码:z6nn

要回复问题请先登录注册