我在面试机器学习、大数据岗位时遇到的各种问题

自己的专业方向是机器学习、数据挖掘,就业意向是互联网行业与本专业相关的工作岗位。各个企业对这类岗位的命名可能有所不同,比如数据挖掘/自然语言处理/机器学习算法工程师,或简称算法工程师,还有的称为搜索/推荐算法工程师,甚至有的并入后台工程师的范畴,视岗位具体要求而定。

机器学习、大数据相关岗位的职责

自己参与面试的提供算法岗位的公司有 BAT、小米、360、飞维美地、宜信、猿题库 等,根据业务的不同,岗位职责大概分为:

  • 平台搭建类

数据计算平台搭建,基础算法实现,当然,要求支持大样本量、高维度数据,所以可能还需要底层开发、并行计算、分布式计算等方面的知识;

  • 算法研究类

文本挖掘,如领域知识图谱构建、垃圾短信过滤等;

推荐,广告推荐、APP 推荐、题目推荐、新闻推荐等;

排序,搜索结果排序、广告排序等;

广告投放效果分析;

互联网信用评价;

图像识别、理解。

  • 数据挖掘类

商业智能,如统计报表;

用户体验分析,预测流失用户。

以上是根据本人求职季有限的接触所做的总结。有的应用方向比较成熟,业界有足够的技术积累,比如搜索、推荐,也有的方向还有很多开放性问题等待探索,比如互联网金融、互联网教育。在面试的过程中,一方面要尽力向企业展现自己的能力,另一方面也是在增进对行业发展现状与未来趋势的理解,特别是可以从一些刚起步的企业和团队那里,了解到一些有价值的一手问题

以下首先介绍面试中遇到的一些真实问题,然后谈一谈答题和面试准备上的建议。

面试问题

  1. 你在研究/项目/实习经历中主要用过哪些机器学习/数据挖掘的算法?
  2. 你熟悉的机器学习/数据挖掘算法主要有哪些?
  3. 你用过哪些机器学习/数据挖掘工具或框架?
  • 基础知识

无监督和有监督算法的区别?

SVM 的推导,特性?多分类怎么处理?

LR 的推导,特性?

决策树的特性?

SVM、LR、决策树的对比?

GBDT 和 决策森林 的区别?

如何判断函数凸或非凸?

解释对偶的概念。

如何进行特征选择?

为什么会产生过拟合,有哪些方法可以预防或克服过拟合?

介绍卷积神经网络,和 DBN 有什么区别?

采用 EM 算法求解的模型有哪些,为什么不用牛顿法或梯度下降法?

用 EM 算法推导解释 Kmeans。

用过哪些聚类算法,解释密度聚类算法。

聚类算法中的距离度量有哪些?

如何进行实体识别?

解释贝叶斯公式和朴素贝叶斯分类。

写一个 Hadoop 版本的 wordcount。

……

  • 开放问题

给你公司内部群组的聊天记录,怎样区分出主管和员工?

如何评估网站内容的真实性(针对代刷、作弊类)?

深度学习在推荐系统上可能有怎样的发挥?

路段平均车速反映了路况,在道路上布控采集车辆速度,如何对路况做出合理估计?采集数据中的异常值如何处理?

如何根据语料计算两个词词义的相似度?

在百度贴吧里发布 APP 广告,问推荐策略?

如何判断自己实现的 LR、Kmeans 算法是否正确?

100亿数字,怎么统计前100大的?

  • ……

答题思路

  • 用过什么算法?

最好是在项目/实习的大数据场景里用过,比如推荐里用过 CF、LR,分类里用过 SVM、GBDT;

一般用法是什么,是不是自己实现的,有什么比较知名的实现,使用过程中踩过哪些坑

优缺点分析。

  • 熟悉的算法有哪些?

基础算法要多说,其它算法要挑熟悉程度高的说,不光列举算法,也适当说说应用场合;

面试官和你的研究方向可能不匹配,不过在基础算法上你们还是有很多共同语言的,你说得太高大上可能效果并不好,一方面面试官还是要问基础的,另一方面一旦面试官突发奇想让你给他讲解高大上的内容,而你只是泛泛的了解,那就傻叉了。

  • 用过哪些框架/算法包?

主流的分布式框架如 Hadoop,Spark,Graphlab,Parameter Server 等择一或多使用了解;

通用算法包,如 mahout,scikit,weka 等;

专用算法包,如 opencv,theano,torch7,ICTCLAS 等。

  • 基础知识

对知识进行结构化整理,比如撰写自己的 cheet sheet,我觉得面试是在有限时间内向面试官输出自己知识的过程,如果仅仅是在面试现场才开始调动知识、组织表达,总还是不如系统的梳理准备;

从面试官的角度多问自己一些问题,通过查找资料总结出全面的解答,比如如何预防或克服过拟合。

产生背景,适用场合(数据规模,特征维度,是否有 Online 算法,离散/连续特征处理等角度);

原理推导(最大间隔,软间隔,对偶);

求解方法(随机梯度下降、拟牛顿法等优化算法);

优缺点,相关改进;

和其他基本方法的对比;

个人感觉高频话题是 SVM、LR、决策树(决策森林)和聚类算法,要重点准备;

算法要从以下几个方面来掌握:

  • 产生背景,适用场合(数据规模,特征维度,是否有 Online 算法,离散/连续特征处理等角度);
  • 原理推导(最大间隔,软间隔,对偶);
  • 求解方法(随机梯度下降、拟牛顿法等优化算法);
  • 优缺点,相关改进;
  • 和其他基本方法的对比;

不能停留在能看懂的程度,还要:

  • 对知识进行结构化整理,比如撰写自己的 cheet sheet,我觉得面试是在有限时间内向面试官输出自己知识的过程,如果仅仅是在面试现场才开始调动知识、组织表达,总还是不如系统的梳理准备;
  • 从面试官的角度多问自己一些问题,通过查找资料总结出全面的解答,比如如何预防或克服过拟合。

  • 开放问题

由于问题具有综合性和开放性,所以不仅仅考察对算法的了解,还需要足够的实战经验作基础;

先不要考虑完善性或可实现性,调动你的一切知识储备和经验储备去设计,有多少说多少,想到什么说什么,方案都是在你和面试官讨论的过程里逐步完善的,不过面试官有两种风格:引导你思考考虑不周之处 or 指责你没有考虑到某些情况,遇到后者的话还请注意灵活调整答题策略;

和同学朋友开展讨论,可以从上一节列出的问题开始。

准备建议

  1. 基础算法复习两条线
    • 材料阅读 包括经典教材(比如 PRML,模式分类)、网上系列博客(比如 研究者July),系统梳理基础算法知识;
    • 面试反馈 面试过程中会让你发现自己的薄弱环节和知识盲区,把这些问题记录下来,在下一次面试前搞懂搞透
  2. 除算法知识,还应适当掌握一些系统架构方面的知识,可以从网上分享的阿里、京东、新浪微博等的架构介绍 PPT 入手,也可以从 Hadoop、Spark 等的设计实现切入。
  3. 如果真的是以就业为导向就要在平时注意实战经验的积累,在科研项目、实习、比赛(Kaggle,Netflix,天猫大数据竞赛等)中摸清算法特性、熟悉相关工具与模块的使用。

总结

如今,好多机器学习、数据挖掘的知识都逐渐成为常识,要想在竞争中脱颖而出,就必须做到

  • 保持学习热情,关心热点;
  • 深入学习,会用,也要理解;
  • 在实战中历练总结;
  • 积极参加学术界、业界的讲座分享,向牛人学习,与他人讨论。

最后,希望自己的求职季经验总结能给大家带来有益的启发。

作者:@太极儒 出处:@太极儒的博客

1、回复“数据分析师”查看数据分析师系列文章

2、回复“案例”查看大数据案例系列文章

3、回复“征信”查看相关征信的系列文章

4、回复“可视化”查看可视化专题系列文章

5、回复“SPPS”查看SPSS系列文章

6、回复“答案”查看hadoop面试题题目及答案

7、回复“爱情”查看大数据与爱情的故事

8、回复“笑话”查看大数据系列笑话

9、回复“大数据1、大数据2、大数据3、大数据4”查看大数据历史机遇连载

PPV课大数据ID: ppvke123 (长按可复制)

大数据人才的摇篮!专注大数据行业人才的培养。每日一课,大数据(EXCEL、SAS、SPSS、Hadoop、CDA)视频课程。大数据资讯,每日分享!数据咖—PPV课数据爱好者俱乐部!

原文发布于微信公众号 - PPV课数据科学社区(ppvke123)

原文发表时间:2015-09-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能头条

推荐算法不够精准?让知识图谱来解决

50220
来自专栏PPV课数据科学社区

经验谈:数据挖掘七步走

Step1.商业理解 就是商业问题的理解了,那么如何更好的理解“老大”提出的商业问题困惑呢?我觉得思维导图倒是个不错的选择,当然自己要想更好的理解“老大”的意思...

29850
来自专栏QQ会员技术团队的专栏

个性推荐理论与实践(上篇)

为什么要做个性推荐这个事情,比较常见的答案就是要做精细化运营。对于个性装扮业务也是一样,因为个性装扮的物品越来越多,表情就有1600多套,加上原创开放平台的上线...

43600
来自专栏AI研习社

F8 2017 | 技术负责人为你解析 Facebook 神经机器翻译

编者按:该讲座主题为 Facebook 机器翻译的两代架构以及技术挑战。 在昨日的 F8 会场,该讲座吸引了众多开发者到场,主讲者是 Facebook 语言翻译...

357110
来自专栏新智元

【探索AI自开发】谷歌、微软用AI开发AI,特定任务超越人类AI专家

【新智元导读】为了应对AI人才不足,以谷歌为首的企业正在想方设法,开发能够取代AI研究员的AI系统,让创建AI软件变得容易。目前,这样的AI系统正在帮助AI研究...

33490
来自专栏目标检测和深度学习

Facebook 开源了自家的物体检测研究平台 Detectron

【导读】:近日 Facebook 开源了自家的物体检测研究平台 Detectron。Detectron 是 Facebook AI 研究的软件系统,实现了最先进...

33250
来自专栏新智元

研究提出能够自我解释的 AI 算法,辅助理解机器决策过程

【新智元导读】加利福尼亚大学伯克利分校和马克斯普朗克信息学研究所的研究提出了一种能够自我解释的算法,有助于让人类理解机器学习的决策过程。这种被称为“指向和对齐”...

38890
来自专栏量子位

“寓教于乐”,DeepMind新研究让机器人从0开始学习复杂精细动作

? 别小看这个笨拙地抓起、移动着物体的机器人,它可是DeepMind的最新研究成果。 有什么特别之处呢?这个机械臂可是在现实世界中直接训练的,没有搞现在模拟器...

32840
来自专栏MixLab科技+设计实验室

AI与设计:技术思维与设计思维的mix

最近在思考一些机器学习给设计带来的思维转变,还有对交互设计的影响,本文把一些读书笔记,及感想总结而成,主要是涉及AI技术、技术思维、设计思维、设计工具、用户体验...

15330
来自专栏AI研习社

数据科学、机器学习、人工智能,都有哪些区别?

当我向别人介绍我是数据科学家时,我常常被问到“数据科学和机器学习有什么区别”或者“这是否意味着你在从事人工智能工作?”类似问题我已经回答过很多次,答案可以总结成...

40390

扫码关注云+社区

领取腾讯云代金券