面试经验分享之机器学习、大数据问题
2015-04-09 14:55:00 来源:
互联网
本人的专业方向是机器学习、数据挖掘,就业意向是互联网行业与本专业相关的工作岗位。各个企业对这类岗位的命名可能有所不同,比如数据挖掘/自然语言处理/机器学习算法工程师,或简称算法工程师,还有的称为搜索/推荐算法工程师,甚至有的并入后台工程师的范畴,视岗位具体要求而定。
机器学习、大数据相关岗位的职责
自己参与面试的提供算法岗位的公司有 BAT、小米、360、飞维美地、宜信、猿题库 等,根据业务的不同,岗位职责大概分为:
1、平台搭建类
数据计算平台搭建,基础算法实现,当然,要求支持大样本量、高维度数据,所以可能还需要底层开发、并行计算、分布式计算等方面的知识;
2、算法研究类
文本挖掘,如领域知识图谱构建、垃圾短信过滤等;
推荐,广告推荐、APP 推荐、题目推荐、新闻推荐等;
排序,搜索结果排序、广告排序等;
广告投放效果分析;
互联网信用评价;
图像识别、理解。
3、数据挖掘类
商业智能,如统计报表;
用户体验分析,预测流失用户。
以上是根据本人求职季有限的接触所做的总结。有的应用方向比较成熟,业界有足够的技术积累,比如搜索、推荐,也有的方向还有很多开放性问题等待探索,比如互联网金融、互联网教育。在面试的过程中,一方面要尽力向企业展现自己的能力,另一方面也是在增进对行业发展现状与未来趋势的理解,特别是可以从一些刚起步的企业和团队那里,了解到一些有价值的一手问题。
以下首先介绍面试中遇到的一些真实问题,然后谈一谈答题和面试准备上的建议。
面试问题
1、你在研究/项目/实习 经历中主要用过哪些机器学习/数据挖掘的算法?
2、你熟悉的机器学习/数据挖掘算法主要有哪些?
3、你用过哪些机器学习/数据挖掘工具或框架?
4、基础知识
无监督和有监督算法的区别?
SVM 的推导,特性?多分类怎么处理?
LR 的推导,特性?
决策树的特性?
SVM、LR、决策树的对比?
GBDT 和 决策森林 的区别?
如何判断函数凸或非凸?
解释对偶的概念。
如何进行特征选择?
为什么会产生过拟合,有哪些方法可以预防或克服过拟合?
介绍卷积神经网络,和 DBN 有什么区别?
采用 EM 算法求解的模型有哪些,为什么不用牛顿法或梯度下降法?
用 EM 算法推导解释 Kmeans。
用过哪些聚类算法,解释密度聚类算法。
聚类算法中的距离度量有哪些?
如何进行实体识别?
解释贝叶斯公式和朴素贝叶斯分类。
写一个 Hadoop 版本的 wordcount。