最具影响力的数字化技术在线社区

168大数据

 找回密码
 立即注册

QQ登录

只需一步,快速开始

1 2 3 4 5
打印 上一主题 下一主题
开启左侧

机器学习、大数据面试经验分享、答题思路

[复制链接]
跳转到指定楼层
楼主
发表于 2015-1-13 21:32:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多数据大咖,获取更多知识干货,轻松玩转大数据

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
目录

机器学习、大数据相关岗位的职责
面试问题
答题思路
准备建议
总结

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

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

1、平台搭建类

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

2、算法研究类

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

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

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

4)广告投放效果分析;

5)互联网信用评价;

6)图像识别、理解

3、数据挖掘类

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

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

面试问题
1、你在研究/项目/实习经历中主要用过哪些机器学习/数据挖掘的算法?

2、你熟悉的机器学习/数据挖掘算法主要有哪些?

3、你用过哪些机器学习/数据挖掘工具或框架?

4、基础知识

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

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

C、LR 的推导,特性?

D、决策树的特性?

E、SVM、LR、决策树的对比?

F、GBDT 和 决策森林 的区别?

G、如何判断函数凸或非凸?

H、解释对偶的概念。

I、如何进行特征选择?

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

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

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

M、用 EM 算法推导解释 Kmeans。

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

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

P、如何进行实体识别?

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

R、写一个 hadoop 版本的 wordcount。
……

5、开放问题

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

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

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

D、路段平均车速反映了路况,在道路上布控采集车辆速度,如何对路况做出合理估计?

E、采集数据中的异常值如何处理?

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

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

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

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

……
答题思路
1、用过什么算法?

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

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

C、优缺点分析。

2、熟悉的算法有哪些?

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

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

3、用过哪些框架/算法包?

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

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

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

4、基础知识

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

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

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

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

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

d.优缺点,相关改进;

e.和其他基本方法的对比;

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

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

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

开放问题

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

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

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

准备建议
1、基础算法复习两条线

材料阅读 包括经典教材(比如 PRML,模式分类)、网上系列博客(比如 研究者July),系统梳理基础算法知识;

面试反馈 面试过程中会让你发现自己的薄弱环节和知识盲区,把这些问题记录下来,在下一次面试前搞懂搞透。

2、除算法知识,还应适当掌握一些系统架构方面的知识,可以从网上分享的阿里、京东、新浪微博等的架构介绍 PPT 入手,也可以从 Hadoop、Spark 等的设计实现切入。

3、如果真的是以就业为导向就要在平时注意实战经验的积,在科研项目、实习、比赛(Kaggle,Netflix,天猫大数据竞赛等)中摸清算法特性、熟悉相关工具与模块的使用。

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

1、保持学习热情,关心热点;

2、深入学习,会用,也要理解;

3、在实战中历练总结;

4、积极参加学术界、业界的讲座分享,向牛人学习,与他人讨论。

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


楼主热帖
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 赞 踩

168大数据 - 论坛版权1.本主题所有言论和图片纯属网友个人见解,与本站立场无关
2.本站所有主题由网友自行投稿发布。若为首发或独家,该帖子作者与168大数据享有帖子相关版权。
3.其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和168大数据的同意,并添加本文出处。
4.本站所收集的部分公开资料来源于网络,转载目的在于传递价值及用于交流学习,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。
5.任何通过此网页连接而得到的资讯、产品及服务,本站概不负责,亦不负任何法律责任。
6.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源,若标注有误或遗漏而侵犯到任何版权问题,请尽快告知,本站将及时删除。
7.168大数据管理员和版主有权不事先通知发贴者而删除本文。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

关于我们|小黑屋|Archiver|168大数据 ( 京ICP备14035423号|申请友情链接

GMT+8, 2024-5-11 14:23

Powered by BI168大数据社区

© 2012-2014 168大数据

快速回复 返回顶部 返回列表