翻译 | 王柯凝
python
出品|人工智能头条(公众号ID:AI_Thinker)面试
【导读】今年年初以来,做者一直在印度找数据科学、机器学习以及深度学习领域的工做。在找工做的这三十四天里,他面试了8到10家公司,其中也包括初创公司、基于服务的公司以及基于产品的公司。做者但愿他的面试经验可以为求职者提供一些有用的信息,于是撰写了此文。但愿你读后可以有所收获!算法
首先自我介绍一下:小程序
我在机器学习(语音分析、文本分析和图像分析领域应用)领域有4年以上的从业经验。总的来讲,我认为这个领域的大多数工做职位主要包括文本分析(天然语言处理)和图像分析(计算机视觉)。不多有公司招聘语音或音频分析的人才。我如今的目标是应聘一个中高级职位,能够带领一个深度学习或机器学习团队作一些有趣的项目。网络
下面是我在应聘过程当中被问到的问题,但愿可以对你有所帮助。
数据结构
▌公司一:基于全球性服务的某公司(面试时长:20-25min)架构
你在简历中提到曾经构建过一个文档挖掘系统,你都作了哪些工做?可否在主题建模(topic modeling)中使用LDA技术实现文档聚类?app
假设你有数百兆字节的数据文件,这其中包括PDF文件、文本文件、图像、扫描的PDF文件等等,请你给出一个分类方案。机器学习
你如何阅读扫描版pdf文件或图像格式的书面文件的内容?ide
朴素贝叶斯为何被称为“朴素”?
请详细介绍一下朴素贝叶斯分类器。
什么是深度学习?深度学习和机器学习的区别是什么?
体验:除此以外面试官还问了一些问题,可是都把我问懵了,我彻底不知道他想听到什么答案。我一直都想深刻的聊一些技术层面的问题,好比训练一个 tesseract(一款由HP实验室开发由Google维护的开源OCR引擎)或语言模型,可是他彷佛并不感兴趣。或许他只是想听到一些已经实现的成果或者是一个好的解释,又或者是一些更好的方案。我感受他们面试一个新手和面试一个有经验的专业人员之间并无什么区别。
▌公司二:基于全球性服务的某公司(面试时长:40-45min)
在无监督学习中,如何进行文件聚类?
如何找到与某些查询语句/搜索相关的文件?
解释下TF-IDF技术。
根据个人经验来看,TF-IDF技术在文件分类或聚类上效果并很差,你将如何改进?
什么是长短时间记忆神经网络(LSTM)?解释下其工做原理。
什么是word2vec模型?
解释下python中的可变对象和不可变对象。
你在python中使用过什么数据结构?
体验:整个面试过程都是围绕着文本类似度提问的,我都顺利经过了。可是此次仍旧没有更深层次的技术探讨。或许是公司在文本分析领域有几个小项目,最终我拿到了公司的offer。
▌公司三:基于全球性产品和服务的某公司(面试时长:40min)
如何使用不平衡数据集( unbalanced dataset)处理多类别的分类问题?
你如何从一个文本语句中进行语言识别?
如何表示中文或日文中的象形字符?
如何设计一个聊天机器人?(我没什么想法,但我尝试用基于TF-IDF类似性的意图和反馈来回答这个问题。 )
可否使用循环神经网络设计一个聊天机器人来对输入的问题进行意图和回答响应。
假设你在Reddit数据集上使用循环神经网络或长短时记忆神经网络设计了一个聊天机器人,它可以提供10种可能的回复,如何选择最佳回复,或者说如何删除其余的回复?
解释一下支持向量机(SVM)如何学习非线性边界。
体验:还有几个问题我已经记不清了,这是我第一次在面试中深刻谈论技术细节,随后我也拿到了这家公司的offer。
▌公司四:成立一年的医疗初创公司(面试时长:50min)
什么是精确率(precision)和召回率(recall)?在医疗诊断中,你认为哪一个更重要?
解释一下精确率和召回率。
如何绘制受试者工做特征曲线 (ROC曲线)?ROC曲线下面积是什么意思?
如何为多类别分类任务绘制ROC曲线?
列举多类别分类任务其余的度量标准。
什么是灵敏度(sensitivity)和特异度(specificity)?
随机森林中的“随机”指什么?
如何进行文本分类?
如何肯定已经学会了一个文本?没有TF-IDF技术是否是不可能实现?(我回答说使用n-gram模型(n=1,2,3,4),并使用TF-IDF技术建立一个长的计数向量)
你还能利用机器学习作些什么?(我建议将长短时间记忆神经网络和word2vec结合起来,或者是一维循环神经网络与word2vec结合起来,进行分类。但面试官但愿改进基于机器学习的算法。)
当神经网络由线性节点构成时,神经网络如何学习非线性形状?它学习非线性边界的缘由是什么?
体验:还有几个很好的问题我没有记住。尽管整个面试过程很不错,可是咱们在一些问题上见解并不一致。而且在面试期间,我发现做为一个初创公司,目前只有2-3我的在作ML、DL和DS。最后我没有面试成功。
▌公司五:亚马逊公司(面试时长:50-55min)
训练决策树时,其参数是什么?
在决策树的某个节点处进行分割,其分割标准是什么?
基尼系数的计算公式是什么?
熵的计算公式是什么?
决策树如何决定在哪一个特征处必须进行分割?
如何利用数学计算收集来的信息?
简述随机森林的优势。
简述boosting算法。
梯度提高算法(gradient boosting)是怎样工做的?
简述AdaBoost算法工做原理。
SVM中用到了哪些内核?SVM的优化技术有哪些?
SVM如何学习超平面?论述下其数学运算细节。
谈一谈无监督学习?都有哪些算法?
如何定义K-Means聚类算法中K的值?
列举至少3中定义K-Means聚类算法中K的方法。
除此以外你还知道哪些聚类算法?
介绍一下DB-SCAM算法。
简述下分层凝聚聚类(Hierarchical Agglomerativeclustering)的工做原理。
解释一下主成分分析算法(PCA),简述下使用PCA算法的数学步骤。
20.使用 PCA算法有哪些缺点?
谈谈卷积神经网络的工做原理?详细说明其实现细节。
解释一下卷积神经网络中的反向传播。
你如何部署机器学习模型?
咱们大部分状况下都要用C++从零开始搭建一个机器学习模型,这一点你能作到吗?
体验:我面试的是亚马逊level 6的职位。他们的主要关注点是在算法和数学上。可是我并无准备数学方面的知识,我只是谈论了我所了解的东西,并无在数学的细节上作更为详细的探讨,所以面试官认为我并不适合level 6的工做。我相信若是你能记住机器学习算法在数学上的通用表示,就能够很轻松的经过亚马逊技术面试。
▌公司六:某全球服务巨头(面试时长:50-55min)
Sigmoid 函数的范围是什么?
说出scikit-learn可以实现逻辑回归的包的名称。
标准正态分布的均值和方差分别是多少?
你在Python中都使用什么数据结构?
文本分类的方法有哪些?你会怎么作分类?
解释TF-IDF技术及其缺点,如何克服TF-IDF的缺点?
什么是双词搭配(Bigrams)和三词搭配(Trigrams)?用一个文本语句解释一下双词搭配和三词搭配的TF-IDF技术。
举例说明word2vec有哪些应用。
如何设计一个神经网络?如何作到“深度”?这是一个基础的神经网络问题。
简述LSTM的工做原理。它是如何记住文本的?
什么是朴素贝叶斯分类器?
抛10次硬币,4次是正面的几率是多少?
如何获取Python列表中元素的索引?
若是合并两个pandas数据集?
从用户行为来看,你须要模拟一个欺诈活动,你会如何解决这个问题?这是多是一个异常检测问题或分类问题!
决策树和随机森林,你更喜欢哪个?
逻辑回归和随机森林有什么区别?
你会用决策树仍是随机森林来解决分类问题?随机森林有什么优势?
体验:我也拿到了这家公司的offer。事实上,我很喜欢此次技术交流。或许你会觉着这些问题是机器学习和数据科学领域最基础的问题,可是我感受面试官可能不是这一领域的,或者是对这个领域的发展了解的并很少。
▌公司七:全球性商业管理公司(面试时长:25-30min)
在不平衡数据集中,你会选择什么模型:随机森林仍是Boosting?为何?
你所了解的Boosting技术有哪些?
采用监督学习解决分类问题,你会选择哪一个模型?假设有 40-50个分类!
你怎样使用合奏(Ensemble)技术?
简述支持向量机(SVM)的工做原理。
什么是Kernel?简单介绍一下。
如何实现非线性回归?
什么是Lasso回归和Ridge回归?
体验:说实话,此次面试有点水,以致于我没有认真对待。可是问题问的很不错。我面试的职位是要带领一个十五六人的团队作项目,在这以后是经理面试和HR面试。最终他们给我提供了岗位咨询以及不错的薪资。
▌公司八:成立4年的生产和服务型公司(60分钟)
你在简历上提到曾经作过演讲中的发音识别,具体来说讲你的实现方法是什么?
什么是梅尔频率倒谱(MFCCs)?
什么是高斯混合模型,它是如何完成聚类的?
如何实现指望最大化?讲讲其实现步骤。
GMM模型中的几率如何计算?
在进行发音识别时,你是如何为GMM-UBM技术执行MAP调整的?
谈谈你所用的I-vector技术 。
在分析语境时,主要因素是什么?
JFA和I-vector的区别是什么?为何选择I-vector而不是JFA?
你有没有用过PLDA I-vector技术吗?
有没有读过百度的Deep Speaker论文?
若是有两个模型可供你选择,你选择的依据是什么?(考察模型选择的技术)
简述下贝叶斯信息度量(BIC)和赤池信息量(AIC)的数学工做原理。
贝叶斯信息度量和赤池信息量的工做原理是什么?
若是MFCC特征向量矩阵中的数据发生丢失,应该怎么办?
如何进行语音辨识?有什么特色?
你的分类器是语音和音乐的分类器,仍是语音和非语音的分类器?
深度神经网络是如何应用在语音分析中的?
体验:是的,你可能会惊讶这都是些什么问题。巧合的是,咱们两我的的研究领域都是语音分析(尤为是发音识别)。因此整个面试过程一直在围绕语音分析进行提问。很显然,面试官很专业,而且给了我一个正面反馈。以后,这家公司给我提供了AI解决方案架构师的工做。
一些建议
在这整个求职过程当中,我大概和25-30位专业人士有过交流,下面是我为读者以及求职者提出的建议:
简历很重要。必定要在简历中写清楚你参加过的项目、Kaggle竞赛、得到的MOOC课程证书或者论文。我就是在没有任何推荐人推荐的状况下接到了亚马逊的面试电话。你的简历是打动HR和面试官的利器。
自信心和热情是成功的一半。参加面试时必定要自信,而且向面试官展现出你的热情(这一点在面试创业公司和基于服务的公司时尤其重要)。
不要过于急着回答面试官提出的问题。花些时间组织好答案再回答,若是对问题有不理解的地方,必定要请教面试官。还有就是在面试时必定要冷静!
在解释概念时必定要恰当的表现本身。举几个你已经实现过的项目,而且必定要熟悉简历中提到的熟练技能和作过的项目。
大多数状况下,面试官都是在寻找这个领域内有经验的技术人才。若是你在这个领域仍是一个新手,在建立简历时能够从本身作过的项目开始。你的GitHub帐号也颇有说服力。除此以外,还能够多参加Kaggle竞赛和MOOC课程。
面对面试官的时候,必定要谦虚,注意倾听面试官的意见,不然你就会被拒之门外。有的时候,使用R语言和Python语言的人会相互鄙视,你最好不要陷入这种争论当中,不然也容易被拒。我我的认为R语言和Python语言都是实现逻辑和概念的工具。
最后,祝你们面试成功!
原文连接:
https://appliedmachinelearning.wordpress.com/2018/04/13/my-data-science-machine-learning-job-interview-experience-list-of-ds-ml-dl-questions/
CSDN学院直播小程序上线了
经过CSDN学院直播小程序,你能够学到 IT 领域前沿技术课程,包括:人工智能、大数据、Python、区块链等,学习的同时更能找到志同道合的朋友。
敲代码虽然是平常,技术提高才是永远的王道。咱们更但愿可以一块儿有计划有目的进阶学习。咱们提供专项的技术老师进行直播答疑,提供大咖的源代码,一切的一切,还须要你来体验!