博主是2018届入学的小硕,目前研一下学期。本科在湖南一所被降级的学校。本科智能科学与技术专业,但是本科并没有好好把握住学习的机会,所以专业知识一塌糊涂。最后经过艰难的考研来到了现在的学校。入学的时候,经过很长时间的思考,还是打算把自己本科的方向做下去,虽然现在各种“算法爆炸”的言论,但是还是想在人工智能的领域做下去。
上学期修了25个学分,下学期只需要11个学分就能达到毕业要求,所以在寒假的时候,就有了外出实习的想法,不过奈何意志力实在太过薄弱,所以立了各种flag的寒假壮烈扑街。开学来了是2月16了,忽然感到很大的压力,发现自己也没有学多少东西,知识体系和知识框架都存在很大的问题。经过一个彻夜的思考,大致定下了在2月16号到3月初的复习计划。
十几天的时间大概过了下数据结构的基本概念,但是还没来得及刷题。机器学习的概念也在重新整理,这段时间,刷完了百面机器学习,百面机器学习这本书基本所有的重点都在,但是也有一个硬伤,没有很深入的探究一些理论和问题。入门可以,但是应付一些大公司的比较深入的面试根本不够。深度学习只来的及看了下卷积神经网络相关的东西。
3月初,试探性地投了一些公司,第一个投的是新东方的AI研究院,第二天就打电话通知面试。没想到会回复的这么快,当时慌得不行,第二天硬着头皮坐校车去了本部,2点到达面试现场。一面是一个比较面善的面试官,做视觉方向的,一面面试官主要根据简历进行提问,一面面试完问我nlp,视觉和推荐系统,更愿意做什么方向,不知死活的选了nlp,不过跟一面面试官说自己没有太多nlp经验,不过愿意尝试这个方向。二面表现并不好,跟二面面试官说了自己还没有太深入的学习nlp,二面面试官就没有问太多概念性的,只问了tf-idf和词向量的两个算法,剩下的就是他们公司的各种情景题,大概怎么根据新东方老师的评价给新东方老师建立一个评级啥的,回答了建立用户画像之类的。后来二面面试官就跟一面的商量问我是否愿意调到视觉,因为相关项目主要是视觉相关的。三面是hr面,不过新东方AI研究院的院长当时不在,所以一面面试官在咨询玩完意向后直接给了口头offer。
之后面过平安科技(过了),三角兽(不知死活选了research岗位,而且是语音方向的,完全没经验啊,方向实在不对口。问我愿不愿意以后转做语音识别,我说不愿意。之后就说回去等通知,然后凉了。三角兽创始人百度出来的,冲着这个去面试的),创新工场的AI公司创新奇智(完全是冲着李开复去的,技术总监凌鹤哥也是北大的,看了简历后直接总监面,一个小时就是在跟凌鹤哥闲扯,没啥难度,比较惭愧的是打算等字节跳动的面试,所以就说一个周后确认是否入职,最后也没去这里),字节跳动(太坑了这个,面的算法岗,一共两面,每一面的时间都巨长,一面推导为主,二面全程写代码。生产者消费者,多线程编程,这真的是算法岗会问的题嘛!当时就觉得要凉。之前同学面的都是当天给结果,我等了两天没消息,心灰意冷。第二天下午6点多,hr打电话沟通,说算法岗满了,问是否愿意调剂到数据挖掘岗,问了下数据挖掘做的东西之后,犹豫了一会,拒绝了。虽然头条不错,但我更想做算法)以及最后面的百度(兜兜转转还是去了百度,哈哈,不过AI技术方面,百度在BAT里面也是前排,不虚)。腾讯和IBM研究院在百度给了offer后陆续发了面试通知,不过实在不想折腾了,就直接拒绝了。从三月初面到四月初,一个月的时间,4月4号(清明)前确认百度offer,终于尘埃落定,不用清明时节泪纷纷了。中间过程还算顺利,基本面的都过了,不过等面试通知和看到同时期找实习的业炎,薯条,宇神接二连三的拿到头条,腾讯的offer,还是很着急的。因为调剂拒绝头条的那周,出现了空档期,那个星期投出去的简历没有一点回复,说不出的憋屈和心累,不过总算最后还是有个好结果了。
1.自我介绍(这部分我觉得可以有以下诀窍:1.不要介绍的时间太长或者太短,时间以面试官刚刚看完你的简历为佳,或者等他看完你的简历想了下大概提问的东西,介绍的内容最好是在最简短的几句话介绍出自己的优势,不适合长篇大论的介绍自己的项目,因为面试官之后会问的,你简历上写的都不要具体介绍了,如果你觉得简历上某些是你的强项,你可以在自我介绍时稍微提一下,给面试官一个引导,这样在之后的面试中就可以让面试官更有侧重)
2.项目介绍(面试官在这部分提问的时候一般会在听你介绍的同时想好要问的问题,比如说你用SVM做了一个分类,很有可能之后的提问就会围绕SVM展开,各种推导,算法上的变形,还有可能会问一些跟公司业务相关的问题,所以这个项目一定要是自己做过的,自己可以完全把握的,并且在介绍时可以把问题往自己最擅长的领域引导,这样就能在之后的面试中将自己放在一个比较主动的地位。如果有论文或者大的比赛就更好了,介绍一个paper或者打比赛起码可以占据面试中大概10几分钟的时间吧,这样,你这十几分钟起码不会被问到自己完全不擅长的领域。如果你什么项目,论文或者比赛都没有,面试官不知道你做过什么,就只能从自己的知识领域里面提问,这样问到你的知识盲区可能就很大。)
3.专业问题(把我面试的和别人的放一起了)
正则,手推:SVM,LR(逻辑斯蒂回归),梯度下降,拟牛顿法,KNN,kmeans
算法基本都来自剑指offer和leetcode前200的典型题。DP,树,图,链表,数组,矩阵这些必考的,偶尔还会问一些数学技巧编程,比如约瑟夫,青蛙跳,找数字中的1,以及各种智力题。
part1:[来自我本科学长政哥整理的,政哥今年签了腾讯,一直都是我学习的榜样]
一、机器学习
单模型
1、LR的损失函数的公式和函数
2、LR的推导过程
3、LR如何解决共线性,为什么深度学习不强调
4、LR如何防止过拟合
5、LR分布式训练怎么做
6、LR为什么使用Sigmoid
7、SVM的损失函数
8、SVM的推导过程
9、SVM怎么扩展到多分类问题
10、SVM需要解决的重要数学问题是什么
11、LR和SVM的区别
12、Gini系数、信息增益、信息增益率的公式
13、CART回归和分类时节点如何划分的
14、决策树将一个特征全部乘以2会有什么影响
15、反向传播算法的推导
16、贝叶斯原理
17、L_BFGS,DFP推导
18、Kmeans算法,如何选择k的个数
19、DBSCAN介绍
20、GMM算法
21、UBM-GMM模型
集成学习
1、Boosting 和Bagging的比较
2、XGB的推导
3、XGB为什么要用二阶信息不用一阶
4、XGB的VC维
5、LGB、XGB的区别和联系,并行是如何并行的
6、GBDT的原理,以及常用的调参的参数
7、XGB与GBDT的比较
8、RF怎么进行节点划分
9、GBDT和RF的比较
10、Stacking方法
特征工程
1、如何判断特征的有效性
2、特征选择的几种方法
3、为什么要做数据归一化,在梯度下降时有什么好处
评价指标
1、评价指标及含义
2、AUC理解和计算方法
3、样本分布不均衡时,怎么训练怎么评价
损失函数、优化函数、核函数
1、各种核函数的比较与使用场景
2、牛顿法的原理及求解sqrt https://leetcode.com/problems/sqrtx/
3、SGD、Momentum和Adam的区别和联系
4、GD和SGD等的区别
5、各个损失函数的形式与区别
6、交叉熵损失公式及推导
7、偏差和方差的区别
正则化、降维、过拟合