作者:Andrewseu
此文将不断更新,谨希望能给正在找实习找工作的同道中人一些参考和帮助!
如需转载,请告知!
面试技术层面主要分为四块:编程基础,专业知识基础,机器学习理论和实战经验。具体准备方法可以参考:
1. 编程基础
首先选择一门语言,然后上Leetcode粗暴的刷题,配以《剑指offer》,效果更佳,大部分面试笔试中数据结构部分就小菜一碟了!刷题过程中注意多做总结,先思路,再上代码,事半功倍!
2.专业知识基础
不管CS非CS这种时候肯定都忘差不多了,计算机网络,操作系统,计算机组成原理,数据结构等,最快捷的方式是看面经那些常见的店找书深入研究一番,即可!
3.机器学习理论
基本的套路是 Andrew NG的《机器学习》+李航的《统计学习方法》+林轩田的《机器学习基石》《机器学习技法》,掌握经典算法的原理和推倒,勤做笔记,多做总结,配以博客发表最佳!
常见的机器学习模型:感知机,线性回归,逻辑回归,支持向量机,决策树,随机森林,GBDT,XGBoost,贝叶斯,KNN,K-means等;
常见的机器学习理论:过拟合问题,交叉验证问题,模型选择问题,模型融合问题等;
4.实战经验
理论总归是理论,理论总归来时要在实践中深化,也需要实践经验的积累。如果有实际项目,那最好;if not,那就上kaggle刷题,学习别人的思路,多看别人的代码!
其实这个世界就是满满的套路,只要有足够的热情,去追逐,BAT不在话下,FLAG也指日可待,潜心修炼,终将成为一代传奇!
面试题汇总:
(1 )几种模型( svm , lr , gbdt , em )的原理以及公式推导;
(2 ) rf , gbdt 的区别; gbdt , xgboost 的区别;
(3 )决策树处理连续值的方法;
(4 )特征选择的方法;
(5 )过拟合的解决方法;
(6 ) kmeans 的原理,优缺点以及改进;
(7 )常见分类模型( svm ,决策树,贝叶斯等)的优缺点,适用场景以及如何选型;
(8 ) svm 为啥要引入拉格朗日的优化方法;
(9 )假设面试官什么都不懂,详细解释 CNN 的原理;
(10)有监督算法和无监督算法的区别;
(11 )梯度下降的优缺点;
(12 ) 解释对偶的概念;
(13 ) L1 与 L2 的区别以及如何解决 L1 求导困难;
(14 )如何用尽可能少的样本训练模型同时又保证模型的性能;
(15 )解释 word2vec 的原理以及哈夫曼树的改进;
(16 )为什么会产生过拟合,有哪些方法可以预防或克服过拟合;
(17 )在模型的训练迭代中,怎么评估效果;
(18 )最短路径代码;
(19) 100 张牌,每次只能抽一张,抽过的牌会丢掉,怎么选出最大的牌;
(20) kmeans 代码;
(21) sql 语句的一些优化技巧;