想要年薪百万速来围观!机器学习面试宝典,超实用心法、功法、技法
☟
众所周知,在人工智能应用还没有全面爆发的今天,人工智能人才抢夺大战早已全面爆发。而频频爆出的人工智能领域高薪资也让我们这些门外汉望眼欲穿。
据悉,目前人工智能领域的薪资(月薪)最低20k左右,高的年薪百万,刚毕业就拿五六十万的大有人在。根据LinkedIn近期针对软件工程师做的一项研究:机器学习和数据科学相关技能需求量最高,仅有0-5年工作经验的机器学习和数据科学从业者比例高达17%,为所有领域中最高。机器学习和数据科学工程师工资最高!平均年薪为12.9万美金。
面对如此撩人的薪资,难道你不心动吗?
进阶一个高大上的人工智能公司,从面试开始,因此,机器人大讲堂仔细搜集和甄选了一些靠谱的经验和高效实用的机器学习面试技巧!感兴趣的小伙伴速速收藏学习,进阶人生巅峰吧!
本文目录
一、 岗位职责
二、 面试思路
三、 面试准备建议
四、 面试问题
1、基础知识
2、开放问题
3、参考资料
五、 补充建议
一、岗位职责
做机器学习方向很多,有些公司更偏重于数据挖掘,而有些更倾向于深度学习。同理,相对应的岗位有些偏重理论也有些偏重实践。这些因素叠加造成了机器学习相关的岗位分布广,如数据分析师,算法工程师,机器学习科学家等,很难一概而论。
从事数据挖掘工作,尤其是在互联网行业,主要需要三个方面的能力:机器学习和数据挖掘的理论知识、编程开发与数据结构算法的基础和业务理解与沟通表达的能力。
上面的图里列出了这个行业不同类型的从业者特点。大部分招聘主要根据H和I两类模版挑选人才。考察方面,除了基本的开发算法,还有以下几个:
1.机器学习算法的理解,比如常见的算法的基本思想原理、应用场景、特点和求解方法。可以从两个分支考察,一个是使用经验,比如实际的一些参数设置,使用技巧等等,面向H类。还有就是一些算法的实现方法,面向I类。
2.实际的项目经验,特别是数据挖掘工作。一方面考察面试者之前的工作情况,另外也看面试者的归纳总结能力与解决问题的能力。针对项目的一些细节提问,也可以看出其做事方式和对一些知识的掌握情况。
3.对于业务的理解能力和敏感性,会以结合实际工作中的一些问题来考察。即使没有实际工作经验,也是可以看出面试者在这个方面的潜力。同时也考察出理论和实际结合的能力。
二、 面试思路
1、定位公司和角色
首先你要清楚你面试的境况——为什么你申请的公司会有这样一个职位开放着。
举个例子,如果一个公司正在招聘一位机器学习工程师,那么你要知道他们可能是正试图解决一个复杂问题,一个传统算法难以适用或者用传统方法根本无法解决的问题。
2、找出核心问题
当你在申请这个职位时,你还可以想象自己已经得到这份工作后的情景。要做到这一点,你需要尽可能多的了解关于这家公司和这个职位的相关信息。并问自己:我能为这家公司解决一个怎样的核心问题?
3、探究潜在的数据来源
在找出问题之后,下一步你就应该思考你需要怎样的数据来解决这个问题。其中一些数据可能是现成的,而另外一些数据可能需要你写一些额外的代码来收集。
4、讨论和交流机器学习解决方案
现在你需要做一个相当大的思维跳跃:如何将机器学习应用到这个问题场景中去?给定你想实现的目标和你需要的有效数据,你能够把它转换为一个机器学习问题吗?使用哪种模型会比较合适?怎么测试和评估这个模型?这个思维过程有助于你在面试中更好地讨论公司最关心的问题。
当被问及到更开放性的问题时,例如:“请描述一个你曾经在做项目时遇到的技术难题,以及你是是如何解决它的?”最好选择一个跟公司有关的话题来回答。
事实上,恰当地理解公司为什么要招聘这个职位的人,能够帮助你在诸多的应聘者中脱颖而出。
三、 面试准备建议
右侧的技术要点从上到下分别为:
线性代数、微积分、概率和统计
信息理论
数据分析能力
机器学习 or 深度学习建模能力
A/B 测试技能
数据密集型应用系统的设计
用于计算密集型应用程序的优化知识
可扩展性和容错性知识
左边的彩色字体分别对应了:机器学习研究员、大数据科学家、机器学习工程师、机器学习架构师。右边相同颜色的方框里面包含的,就是这一职位在面试前需要重点准备的科目。
你可以对照着这张图进行查漏补缺。
四、面试问题
1、基础知识
计算机科学典型问题
· 给定一棵二叉查找树中的两个元素,求它们的最近公共祖先。
· 基于比较的排序算法的时间复杂度是什么?证明?
· 如何求一个带权图中两个结点直接按的最短路径?如果有些权值是负的怎么办?
· 求一个字符串中所有的回文子串。
注意:对这些问题你都要能够推导你的解法的时间和空间复杂度(大 O 表示法),并且尽量用最低的复杂度解决。只有通过大量的练习才能将这些不同类型的问题烂熟于胸,从而在面试中迅速地给出一个高效的解法。
数理统计与数据挖掘问题
· 当不知道数据所带标签时,可以使用哪种技术促使带同类标签的数据与带其他标签的数据相分离?
· 数据预处理的方法有哪些?
· 特征选择的标准方法是什么?
· 某超市研究销售纪录数据后发现,买啤酒的人很大概率也会购买尿布,这种属于数据挖掘的哪类问题?
注意:很多机器学习算法都以数理统计作为理论基础。对于这些基础知识有清晰的概念是极为重要的。当然同时你也要能够将这些抽象的概念与现实联系起来。
机器学习模型与算法
· 请简要介绍下SVM,与LR的联系与区别是什么?
· 逻辑斯特回归为什么要对特征进行离散化?
· 一个完整的机器学习项目流程有哪些?
· 支持向量机的训练在本质上是在最优化哪个值?
· 你用一个给定的数据集训练一个单隐层的神经网络,发现网络的权值在训练中强烈地震荡(有时在负值和正值之间变化)。为了解决这个问题你需要调整哪个参数?
……
2、开放问题
开放类问题最好根据你所要面试的公司的特点以及以往面试内容进行准备,也可以参考一些同类公司的面试题目。
· 如何评估网站内容的真实性(针对代刷、作弊类)?
· 深度学习在推荐系统上可能有怎样的发挥?
· 请问你在搭建文档挖掘系统的过程中,做了哪些工作?
· 假设给你数TB的数据文件,其中包含PDF、文本文件、图像、扫描的PDF文件等等。你将如何对其分类?
· 你还能用机器学习做些什么?
· 关于AdaBoost算法,你了解多少?它如何工作?
· 在不平衡的数据集中,你会选择什么模型:随机森林还是boosting?为什么?
……
3、参考资料
评测数据科学家在机器学习方面能力的 40 个问题
文章地址:
https://www.analyticsvidhya.com/blog/2017/04/40-questions-test-data-scientist-machine-learning-solution-skillpower-machine-learning-datafest-2017/
如果你已经是(或者正打算成为)一名数据科学家,则必须掌握机器学习,文章中的问题都经过了特别的设计,可以用来测试你对于机器学习概念性知识的掌握程度!
评测数据科学家在自然语言处理方面能力的 30 个问题
文章地址:
https://www.analyticsvidhya.com/blog/2017/07/30-questions-test-data-scientist-natural-language-processing-solution-skilltest-nlp/
自然语言处理(NLP)是机器学习行业中发展非常迅猛的一个领域。各企业已开始意识到通过使用机器学习方式,从人类书写的文本中汲取指导性见解的强大力量。文中的问题可以让你了解自己在 NLP 方面的掌握程度!
评测数据科学家在树模型方面能力的 30 个问题
文章地址:
https://www.analyticsvidhya.com/blog/2017/09/30-questions-test-tree-based-models/
决策树(Decision Trees)是机器学习及数据科学领域中最为人所推崇的算法之一,这部分内容也是面试环节中的一个重要组成部分!
评测数据科学家在支持向量机方面能力的 25 个问题
文章地址:
https://www.analyticsvidhya.com/blog/2017/10/svm-skilltest/
通过对文章中的 25 个问题进行自测,可以提升你在“支持向量机”这一成熟技术方面的知识!
评测报告数据科学家在降维技能方面能力的 40 个问题
文章地址:
https://www.analyticsvidhya.com/blog/2017/03/questions-dimensionality-reduction-data-scientist/
在面试中,最常见的问题之一是如何处理庞大的数据集,它可能包含百万级的数据行以及几千个数据列。在你遇到这类问题时,对降维(Dimensionality Reduction)技术的理解以及了解在哪些场景下使用这个技术将会非常有帮助!
评测数据科学家在聚类技术方面能力的 40 个问题
文章地址:
https://www.analyticsvidhya.com/blog/2017/02/test-data-scientist-clustering/
在通过非标签化数据获取认识的过程中,聚类(Clustering)技术扮演着一个重要的角色。这又是一个你必须了解的概念,请务必充分掌握!
新手如何在商业分析岗位的面试中脱颖而出
文章链接:
https://www.analyticsvidhya.com/blog/2013/07/prepare-ace-interviews-business-analytics-roles/
对于新手来说,缺乏面试经验也会不时地造成你的局促不安。通过学习本文的技巧,可以使你在任何数据分析面试过程中尽情发挥!
五、补充建议
·简历很重要。
·自信心和热情是成功的一半。
·不要过于急着回答面试官提出的问题。
·在解释概念时一定要恰当的表现自己。
·面对面试官的时候,一定要谦虚,注意倾听面试官的意见,
最后,祝大家面试成功!