文末彩蛋:七月在线干货组最新升级的《名企AI面试100题》免费送!

01 个人情况

本人是非计算机专业,毕业之后机缘巧合进入算法岗位, 跟七月结缘是计算机专业的学长推荐的七月的题库。

原工作中主要接触的是传统的机器学习算法,NLP也只是浅层了解,面试时发现仅有传统机器学习算法是不够的, 所以报了七月的NLP就业小班。

02 学习情况

预习阶段我把传统机器学习算法过了一遍,深度学习和NLP的预习课程没来得及过,直接导致我第一次作业就被干趴下了,花了一周,交的东西自己都不忍直视(不敢去想像褚博士是怎么硬着头皮看下去的)。

意识到自己的菜之后,之后开始老老实实的边上NLP课程,边补深度学习,PyTorch和Tensorflow的课程。最怕上褚老师的直播课,因为自己作业没交,练习没做完,代码没啃完,所以每次见到老师都瑟瑟发抖。

虽然怕老师,但是我一直认为自己是很幸运的,在我算法之路的开始阶段, 能有一位专业的老师引路,节约了很多自己摸索的时间。

褚博士带我们看英文论文,分析源码,教我们NLP最新技术,提供丰富的学习资源,提供简历的修改建议,项目的优化方案等等,在这过程中,我学习到的不仅仅是当前NLP领域的技术,更多的是一种思维方式和学习方法的转变,一名合格的算法工程师应该有的专业素养及个人修养,其重要性远甚于某个模型的公式推导及应用的。

IT行业更新迭代周期越来越短,某种模型很快就被淘汰,**但优秀的思维方式、学习方法及自我修养一直都是非常具有竞争力的,**我认为这是我在七月,跟着褚博士取得的最大收获。

03 面试情况

面试流程一般分为以下几个阶段:自我介绍、项目介绍及提问、代码及算法考核。自我介绍、项目介绍、算法考核不论公司大小都是必须的,数据结构部分公司考核。

数据结构:

(1)手撕快速排序、冒泡排序,归并排序;

算法:

(1)逻辑回归的原理及步骤介绍、手写逻辑回归的损失函数;逻辑回归的损失函数中为什么是连乘?相加是否可以?

(2)为什么要做最大似然估计?

(3)K-means的原理和步骤实现(口头介绍及板书),手写K-means的代码;局限性及优化的方法;聚类除了K-means之外还有哪些方法;

(4)EM算法分为几步?每步分别是什么?EM算法与K-means算法的区别与联系?

(5)ID3,C4.5和CART的区别与适用场所;

(6)SVM和CRF算法原理介绍;SVM求出来的最优值是否是全局最优;怎么判断一个最优值是全局最优还是局部最优?

(7)HMM和CRF的区别;

(8)多维空间中的分类算法有哪些;

(9)有一个圆,一个点在圆内,一个点在圆外,如何分类;

(10)RF是什么?粒子群优算法计算过程、参数调整过程?

(11)动态规划中最短路径的求法;

(12)XGBoost的优化原理及目标;

(13)如何衡量一个词的重要程度;

(14)敏感词的查询及匹配;

(15)transformer框架介绍;

(16)BERT的主要任务,局限性;为什么要乘以缩放因子;

(17)transformer中的attention机制与BahdanauAttention的区别;

(18)word2vec中的负采样是怎么处理的;

特征工程:

(1)特征工程包括哪些内容?

(2)缺失值的处理方式;

(3)异常值的检测方法;

(4)特征变量的筛选过程;

(5)为什么要做归一化;

(6)spearman与pearson的区别;

(7)过拟合和欠拟合的定义,处理方式;

(8)如何解决多重共线性问题;