机器学习及大数据相关面试的职责和面试问题
目录
· 机器学习、大数据相关岗位的职责
· 面试问题
· 答题思路
· 准备建议
· 总结
各个企业对这类岗位的命名可能有所不同,比如推荐算法/数据挖掘/自然语言处理/机器学习算法工程师,或简称算法工程师,还有的称为搜索/推荐算法工程师,甚至有的并入后台工程师的范畴,视岗位具体要求而定。
机器学习、大数据相关岗位的职责
根据业务的不同,岗位职责大概分为:
1 、平台搭建类
· 数据计算平台搭建,基础算法实现,当然,要求支持 大样本量、高维度数据,所以可能还需要底层开发、并行计算、分布式计算等方面的知识;
2 、算法研究类
· 文本挖掘,如领域知识图谱构建、垃圾短信过滤等;
· 推荐,广告推荐、APP 推荐、题目推荐、新闻推荐等;
· 排序,搜索结果排序、广告排序等;
· 其它,· 广告投放效果分析;· 互联网信用评价;· 图像识别、理解。
3 、数据挖掘类
· 商业智能,如统计报表;
· 用户体验分析,预测流失用户。
以下首先介绍面试中遇到的一些真实问题,然后谈一谈答题和面试准备上的建议。
面试问题
1、你在研究/项目/实习经历中主要用过哪些机器学习/数据挖掘的算法?
2、你熟悉的机器学习/数据挖掘算法主要有哪些?
3、你用过哪些机器学习/数据挖掘工具或框架?
4、基础知识· 无监督和有监督算法的区别?· SVM 的推导,特性?多分类怎么处理?· LR 的推导,特性?· 决策树的特性?· SVM、LR、决策树的对比?· GBDT 和 决策森林 的区别?· 如何判断函数凸或非凸?· 解释对偶的概念。· 如何进行特征选择?· 为什么会产生过拟合,有哪些方法可以预防或克服过拟合?· 介绍卷积神经网络,和 DBN 有什么区别?· 采用 EM 算法求解的模型有哪些,为什么不用牛顿法或梯度下降法?· 用 EM 算法推导解释 Kmeans。· 用过哪些聚类算法,解释密度聚类算法。· 聚类算法中的距离度量有哪些?· 如何进行实体识别?· 解释贝叶斯公式和朴素贝叶斯分类。· 写一个 Hadoop 版本的 wordcount· ……
5、开放问题
· 给你公司内部群组的聊天记录,怎样区分出主管和员工?
· 如何评估网站内容的真实性(针对代刷、作弊类)?
· 深度学习在推荐系统上可能有怎样的发挥?
· 路段平均车速反映了路况,在道路上布控采集车辆速度,如何对路况做出合理估计?采集数据中的异常值如何处理?
· 如何根据语料计算两个词词义的相似度?
· 在百度贴吧里发布 APP 广告,问推荐策略?
· 如何判断自己实现的 LR、Kmeans 算法是否正确?
· 100亿数字,怎么统计前100大的?
· ……
答题思路
1 、用过什么算法?
· 最好是在项目/实习的大数据场景里用过,比如推荐里用过 CF、LR,分类里用过 SVM、GBDT;
· 一般用法是什么,是不是自己实现的,有什么比较知名的实现,使用过程中踩过哪些坑;
· 优缺点分析。
2 、熟悉的算法有哪些?
· 基础算法要多说,其它算法要挑熟悉程度高的说,不光列举算法,也适当说说应用场合;
· 面试官和你的研究方向可能不匹配,不过在基础算法上你们还是有很多共同语言的,你说得太高大上可能效果并不好,一方面面试官还是要问基础的,另一方面一旦面试官突发奇想让你给他讲解高大上的内容,而你只是泛泛的了解,那就傻叉了。
3 、用过哪些框架 / 算法包?
· 主流的分布式框架如 Hadoop,Spark,Graphlab,Parameter Server 等择一或多使用了解;
· 通用算法包,如 mahout,scikit,weka 等;
· 专用算法包,如 opencv,theano,torch7,ICTCLAS 等。
4 、基础知识
· 个人感觉高频话题是 SVM、LR、决策树(决策森林)和聚类算法,要重点准备;
· 算法要从以下几个方面来掌握 产生背景,适用场合(数据规模,特征维度,是否有 Online 算法,离散/连续特征处理等角度);原理推导(最大间隔,软间隔,对偶);求解方法(随机梯度下降、拟牛顿法等优化算法);优缺点,相关改进;和其他基本方法的对比;
· 不能停留在能看懂的程度,还要对知识进行结构化整理,比如撰写自己的 cheet sheet,我觉得 面试是在有限时间内向面试官输出自己知识的过程,如果仅仅是在面试现场才开始调动知识、组织表达,总还是不如系统的梳理准备;从面试官的角度多问自己一些问题,通过查找资料总结出全面的解答,比如如何预防或克服过拟合。
5 、开放问题
· 由于问题具有综合性和开放性,所以不仅仅考察对算法的了解,还需要足够的实战经验作基础;
· 先不要考虑完善性或可实现性,调动你的一切知识储备和经验储备去设计,有多少说多少,想到什么说什么,方案都是在你和面试官讨论的过程里逐步完善的,不过面试官有两种风格:引导你思考考虑不周之处 or 指责你没有考虑到某些情况,遇到后者的话还请注意 灵活调整答题策略;
· 和同学朋友开展讨论,可以从上一节列出的问题开始。
准备建议
1、基础算法复习两条线
· 材料阅读包括经典教材(比如 PRML,模式分类)、网上系列博客,系统梳理基础算法知识;
· 面试反馈面试过程中会让你发现自己的薄弱环节和知识盲区,把这些问题记录下来,在下一次面试前搞懂搞透。
2、除算法知识,还应适当掌握一些系统架构方面的知识,可以从网上分享的阿里、京东、新浪微博等的架构介绍 PPT 入手,也可以从 Hadoop、Spark 等的设计实现切入。
3、如果真的是以就业为导向就要在平时注意实战经验的积累,在科研项目、实习、比赛(Kaggle,Netflix,天猫大数据竞赛等)中摸清算法特性、熟悉相关工具与模块的使用。
总结
如今,好多机器学习、数据挖掘的知识都逐渐成为常识,要想在竞争中脱颖而出,就必须做到· 保持学习热情,关心热点;· 深入学习,会用,也要理解;· 在实战中历练总结;· 积极参加学术界、业界的讲座分享,向牛人学习,与他人讨论。最后,希望自己的求职季经验总结能给大家带来有益的启发。
- 想对推荐算法、用户画像有进一步的了解的可以移步我的知乎live
- 《 推荐算法那点事》: 知乎 Live – 全新的实时问答
- 《 推荐算法那点事(二):细节 》: 知乎 Live – 全新的实时问答
附:其它可能的题目-算法/架构/ETL等
- MapReduce解决缺值问题?
- 集群规模有限,但之前的那个文件足够大,如何解决?(不能调整集群的规模)
- Spark的三种部署方式?
- 如果Spark用的和Mapreduce的计算资源同是yarn,发现资源不够用了话,在Spark中的哪里进行配置,使之资源分配合理?
- LVS的配置相关命令?
- Hadoop的各角色的职能?
- Hadoop的checkpoint的作用?
- HBase的双主如何配置?
- HBase即便拥有双主的高可靠配置,存在hdfs上的数据丢失怎么办?
- HBase模糊查询,是什么?如何做到?
- Hadoop的 高可靠性,如何保证?
- 如何保证HBase的稳定性以及高可靠性?从部署、容灾、以及网络方面说说你的看法?
- 你觉得Spark和Hadoop的区别是什么,请简要说一说?
- 你觉得Python和Java在使用起来,有什么区别?
- 给你两张表,表A和表B,其中表A有3条数据,表B有5条数据,问:表A left join 表B后有几条?
- LVS和HAProxy相比,它的缺点是什么?
- Sqoop用起来感觉怎样?
- ZooKeeper的角色以及相应的Zookepper工作原理?
- HBase的Insert与Update的区别?
- 数组与链表的区别是什么?
- Scala函数式编程的特点?
- 今日头条的个性化推荐是如何实现的?
- spark工作原理
- spark运行原理
- Spark Streaming
- Storm的ack是干嘛的
- kalfka干嘛的
- job提交到yarn上的工作流程
- 10x+5y+z = n,x+y+z的最小值
- ArryList、LinkedList、vector的区别
- hashMap HashTable的区别
- 垃圾回收机制
- JVM的工作原理
- Hbase的垃圾回收工具
- for循环LinkedList
- 遍历HashMap的并且把某一个值删除
- 线程 进程
- Java中Runnable和Thread的区别Callable
- Callable与Future的介绍
- sleep wait区别
- hadoop源码使用了什么JAVA技术
- hadoop的通讯接口RPC协议
- java的数据类型
- mapreduce中的Text类型 LongWriteable 能不能用String 或者用long类型代替
- JAVA如何实现序列化
- 反序列化是什么?
- 序列化是将(内存中的)结构化的数据数据,序列化成2进制
- mapreduce常用的接口
- mapreduce的工作流程
- MR优化方式
- 什么样的情况下不能用mapreduce
- HDFS的架构
- hdfs改那几个文件 分别改什么内容 内容代表什么意思(3次)
- core是全局的 site是局部的
- hdfs优化
- mapreduce怎么实现join连接
- yarn的ha搭建
- zookeeper的工作原理和应用场景
- 如何解决mapreduce的数据倾斜
- mapreduce怎么实现把移动数据到移动计算的
- hive 增加数据有几种方式
- 怎么给hive的表里面增加一个字段
- 增加的字段里面数据占不占内存
- 给字段增加值怎么增加
- 1g的小文件,1g的一个文件 ,为什么小文件占的空间更大
- hive建表,什么情况下见内部表
- impala 依赖
- 怎么解决hive数据倾斜问题
- hbase rowkey的设计原则
- 唯一 简明有意义
- hbase的应用场景
- 你们平时PV有多少,数据量有多少
- Hive是重点
- hadoop工程师
- zookeeper在hbase中作用
- ZK中存的两张最重要的表
- shall 数组的分隔符是什么
- linux的copy
End.
转载请注明来自36大数据(36dsj.com): 36大数据» 机器学习及大数据相关面试的职责和面试问题