北京 | 高性能计算之GPU CUDA课程11月24—26日3天密集学习 快速带你晋级阅读全文>

人们用很多东西来比喻准备面试的过程。有人说这像准备一场战争,也有人说像邀请某人出去约会,还有人说像在高尔夫大师赛上打进最后一个洞。准备面试是一个令人兴奋,又或者是令人恐惧的过程。准备一场机器学习工程师的面试更是如此。要如何准备才能得到自己想要的结果呢?

成功的关键在于思维方式和充分的准备。

公司和角色

你首先要思考为什么你所申请的公司会有这样一个职位开放着。这是准备过程中极为重要的一个问题。如果你知道自己会被问到什么,你就能更好地定位自己能给公司带来的价值在哪里。比如说,一家公司正在招聘一名机器学习工程师,那么很显然他们目前正在试图解决一个传统方案所无能为力的复杂问题。

发现核心问题

你要做的第一件事情就是设想自己已经得到这份工作后的情景。为此你需要尽可能地收集和整理关于这家公司和这个职位的信息。问自己一个问题:我能为这家公司解决一个怎样的核心问题? 而寻找这个问题的答案的过程,应该是令人兴奋的,能驱使你去了解更多关于这个问题的信息——像是现有的解决方案、近几年的新趋势等——并让你看清具体的难点在哪里。

如果你明确地知道自己申请的职位是属于哪个团队的,那么就很容易挑选一个合适的问题;否则的话就挑选一个对公司来说非常基本的问题你。除此以外,你还可以思考这家公司目前面临着怎样的挑战,从而预计他们可能会问你的问题。

寻找可能的数据源

在找出问题以后,接下来你就要思考你需要怎样的数据来解决这个问题。有些数据可能是现有的,另外一些数据可能需要你写一些额外的代码来收集。尝试去了解这家公司的基础设施和运维情况——他们用了怎样的技术栈、提供哪些 API、已经收集了什么类型的数据、等等。现在很多公司都会维护一个博客来讨论他们遇到的困难、采取的解决方案以及成功和失败的案例。你可以通过博客来更深入地了解他们是怎么运营的,他们的流水线上已经有了怎样的产品和服务等。

讨论和交流解决方案

好了,现在你要做一个很大的思维跳跃:如何将机器学习应用到这个问题场景中去? 给定

你想达成的目标和你认为可以获取数据,你能把它转化成一个机器学习问题吗?哪些模型会比较合适?你将如何训练和评估模型?举个例子,像 Netflix 和 Amazon 那样的推荐系统所面临的主要挑战并不是预测,而是聚类——也就是说,当你能够将用户划分成购买偏好和行为相近的群组后,再给他们推荐产品就很容易了。

事先走一遍这样的思考过程能够帮助你在面试中很好地谈论公司最关心的问题。不会有人指望你能够走进面试房间然后把一个他们研究了几个月甚至几年的问题给完全解决,但面试官一定会喜欢对他所真正关心的问题展现出兴趣、动力和好奇心的候选人。

根据面试官和环节的不同,你可能会被问到很理论性的问题,但你应该用这个机会来展示自己对公司的了解和对角色的定位。当被问到一些开放性问题,比如说“请描述一个你在做项目时遇到过的技术难题以及你是如何解决它的”时,最好选择一个跟公司有关的话题来谈。

技能和样例问题

我最近写过一篇文章,在文中我列出了机器学习工程师所必须掌握的 5 类技能:

计算机科学基础和编程能力

概率论和统计

数据建模和评估

应用机器学习算法和库

软件工程和系统设计

那篇文章中对每类技能都提供了很多细节。而在这里我主要给出一些你在面试中可能会被问到的问题。

计算机科学

样例问题:

如何判断一个而链表中是否有环?

给定一棵二叉查找树中的两个元素,求它们的最近公共祖先。

给一个栈排序

基于比较的排序算法的时间复杂度是什么?证明?

如何求一个带权图中两个结点直接按的最短路径?如果有些权值是负的怎么办?

求一个字符串中所有的回文子串。

对这些问题你都要能够推导你的解法的时间和空间复杂度(大 O 表示法),并且尽量用最低的复杂度解决。

只有通过大量的练习才能将这些不同类型的问题烂熟于胸,从而在面试中迅速地给出一个高效的解法。常用的算法面试准备平台有 InterviewBit、LeetCode、Interview Cake、Pramp、interviewing.io 等。

概率论和统计

样例问题:

给出一个群体中男性和女性各自的平均身高,求整个群体的平均身高。

一次调查表明意大利三分之一的汽车都是法拉利,并且在那之中一半的车都是红色的。如果你在意大利的街头看到一辆红色的汽车驶来,请问它是法拉利的可能性有多大?

你试图找出在自己的网站上放置版头的最佳方案。变量包括版头的尺寸(大、中、小)以及放置的位置(顶部、中间、底部)。假定需要 95% 的置信水平,请问你至少需要多少次访问和点击来确定某个方案比其他的组合都要好?

很多机器学习算法都以概率论和统计作为理论基础。对于这些基础知识有清晰的概念是极为重要的。当然同时你也要能够将这些抽象的概念与现实联系起来。

数据建模和评估

样例问题:

一位农民想搞明白是什么因素影响了他的牛奶产量。他记录了每天的气温(30 - 40 度)、湿度(60 - 90%)、饲料消耗(2000 - 2500 千克)以及牛奶产量(500 - 1000 升)。

假设问题是要预测每天的牛奶产量,你会如何处理数据并建立模型?

这是一个什么类型的机器学习问题?

你的公司在开发一个面部表情识别系统。这个系统接受 1920 x 1080 的图片作为输入,并告诉用户图片中的人脸处于以下哪种情绪状态:平常、高兴、悲伤、愤怒和恐惧。当图片中没有人脸时系统要能够分辨这种情况。

这是一个什么类型的机器学习问题?

如果每个像素点由 3 个值来表示(RGB),那么输入数据的原始维度有多大?有办法降维吗?

如何对系统的输出进行编码?为什么?

过去几个世纪的气象数据展现出一种循环的气温模式:一会升高一会下降。对于这样的数据(一个年平均气温的序列),你会如何建模并预测未来 5 年的平均气温?

你在一家在线新闻网站工作,需要从各处收集文本,并将不同来源的内容聚集成一篇报道。你会如何设计这样一个系统?会用到哪些机器学习技术?

应用机器学习算法和库

样例问题:

你用一个给定的数据集训练一个单隐层的神经网络,发现网络的权值在训练中强烈地震荡(有时在负值和正值之间变化)。为了解决这个问题你需要调整哪个参数?

支持向量机的训练在本质上是在最优化哪个值?

LASSO 回归用 L1-norm 作为惩罚项,而岭回归(Ridge Regression)则使用 L2-norm 作为惩罚项。这两者哪个更有可能得到一个稀疏(某些项的系数为 0)的模型?

在用反向传播法训练一个 10 层的神经网络时,你发现前 3 层的权值完全没有变化,而 4 ~ 6 层的权值则变化得非常慢。这是为什么?如何解决?

你手上有一个关于小麦产出的数据集,包括年降雨量 R、平均海拔 A 以及小麦产量 O。你经过初步分析认为产量跟年降雨量的平方以及平均海报的对数之间存在关系,即:O = β_0 + β_1 x R^2 + β_2 x log(A)。能用线性回归求出系数 β 吗?

你可以通过像 Kaggle 比赛那样的数据科学和机器学习挑战来了解各种各样的问题和它们之间的细微差别。多多参加这些比赛,并尝试应用不同的机器学习模型。

软件工程和系统设计

样例问题:
你有一个电商网站,当用户点击一个商品打开详情页面时,你想基于商品特征和用户的购买历史为用户推荐 5 个其他的商品显示在页面的底部。你需要哪些服务和数据表来实现这个功能?请写一个查询语句或一段过程式代码来返回所要推荐的 5 个商品。

对于 YouTube 那样的在线视频网站,你会收集哪些数据来衡量用户的参与度和视频的人气度?

一个简单的垃圾邮件检测系统是这样的:它每次处理一封邮件,统计不同单词的出现频率(Term frequency),并将这些频率与之前已经被标注为垃圾 / 正常邮件的那些频率进行比较。现在需要对这系统进行拓展来处理海量的邮件流量,请设计一个 Map-Reduce 方案在一个集群上部署这个系统。

你要生成一个实时的热力图,来展示用户正在浏览和点击一个网页的哪些部分。在客户端和服务端分别需要哪些组件 / 服务 / API 来实现这个功能?

结语

我在本文中想要展示的是机器学习工程师面试的两个方面:情景侧和技术侧。我想强调一点,你不应该牺牲前者去追求后。

原文链接:http://www.jianshu.com/p/6c452948bb53

请关注人工智能LeadAI公众号,查看更多专业文章

大家都在看

LSTM模型在问答系统中的应用

基于TensorFlow的神经网络解决用户流失概览问题

最全常见算法工程师面试题目整理(一)

最全常见算法工程师面试题目整理(二)

TensorFlow从1到2 | 第三章 深度学习革命的开端:卷积神经网络

装饰器 | Python高级编程

今天不如来复习下Python基础

点击“阅读原文”直接打开【北京站 | GPU CUDA 进阶课程】报名链接

如何准备机器学习工程师面试相关推荐

  1. 亚马逊机器学习工程师面试怎么过?

    作者 | Terence Shin 译者 | 苏本如,责编 | 夕颜 出品 | CSDN(ID:CSDNnews) 你是否好奇亚马逊的企业文化.招聘流程和面试?本文将带你深入了解一下! 简介 从最初的 ...

  2. AI工程师面试知识点:机器学习算法类

    AI工程师面试知识点:机器学习算法类   (帮助你选择合适的机器学习算法 https://docs.microsoft.com/zh-cn/azure/machine-learning/stu ...

  3. 关于”算法工程师/机器学习工程师”的笔试和面试总结

    从16年九月份开始,参加了一些公司的算法工程师/机器学习工程师岗位的校园招聘,做一些总结,希望可以给大家准备这个职位提供些信息. 一.需要的基本技能 数据结构知识 掌握一门编程语言,c/c++/Jav ...

  4. 如何准备机器学习工程师的面试

    原文链接:http://www.zhihu.com/question/23259302 如何准备机器学习工程师的面试 ?修改 我之前面试一些公司的机器学习或者数据挖掘工程师的职位.感觉自己准备的不够充 ...

  5. 机器学习/推荐系统/推荐系统算法工程师面试指导

    面试指导 文章目录 面试指导 1.机器学习/推荐系统/推荐系统算法工程师面试技能图 2.1 推荐系统算法相关面试笔试题 2.2 机器学习相关问题 重点: 2.3 框架方面 2.4 业务流程 3.简历指 ...

  6. 机器学习算法工程师面试集锦(更新中)

    机器学习算法工程师面试集锦(更新中) 面试问题汇总 常用的损失函数 介绍交叉验证 特征选择方法 机器学习项目的一般步骤 经验风险最小化与结构风险最小化 训练决策树时的参数是什么 在决策树的节点处分割标 ...

  7. 机器学习算法工程师面试知识点汇总

    机器学习算法工程师面试知识点汇总 机器学习 梯度下降 k-means 1 × 1卷积核 模型 SVM Bagging & Boosting 随机森林 激活函数 Sigmod tanh ReLU ...

  8. 如何准备算法工程师面试,斩获一线互联网公司机器学习岗offer?

    最近互联网公司的秋招如火如荼的进行,我也收到过不少同学的关于面试和选择offer的咨询,因为在之前的专栏文章和一些回答中已经介绍过一些相关经验,这篇文章就做一个全面的总结. 本文将分三个部分: 1.机 ...

  9. 机器学习算法工程师面试总结

    转自北邮人论坛 2017年即将过去,今年是忙碌的一年,从2月17还没开学就来学校,到现在12月初,工作的事情终于尘埃落定,现将这一段经历写下来,希望能帮助来年找工作的学弟学妹,同时,对自己来说,也是一 ...

最新文章

  1. java中的移位运算符
  2. 都 2021 年了,Serverless 能取代微服务吗?
  3. 你发这些什么目的_微信CRM系统究竟是什么?
  4. 使用devops的团队_DevOps与兼职社区团队兼容吗?
  5. 【重磅分享】从零到一搭建推荐系统指南白皮书.pdf(附48页下载链接)
  6. 搭建Hadoop2.5.2+Eclipse开发调试环境
  7. 微软小冰迎来了一个新姐妹:“欣小然”
  8. 大用户量下Open***部署方案(二)
  9. 百度智能化测试技术及项目交付
  10. Python实现统计代码行数功能
  11. 对比MySQL和Pandas计算用户最大连续登录天数
  12. WIN7 通过4G模块 拨号上网过程
  13. 现代公司理论在线考试习题
  14. python编写函数输出自除数_728. 自除数(Python)
  15. Java http响应报文_java中HTTP响应报文是什么意思?详细图解
  16. Python语言程序设计基础_实验1 Python程序设计基础_答案_通识教育必修课程_上海师范大学
  17. java项目-第90期基于ssm的嘟嘟二手书商城系统
  18. 自增长主键值设为null时sql语句执行报错
  19. 搭建属于自己的发卡小店-独角数卡
  20. python-docx中文文档之文件类

热门文章

  1. linux dac 的权限,Samba CAP_DAC_OVERRIDE文件权限绕过安全限制漏洞
  2. 外卖匹配系统_困扰外卖骑手的“系统” ,无人能置身事外
  3. neostrack服务器无响应,捷安特GPS码表NeosTrack试用评测
  4. android studio 新建工程慢,关于AndroidStudio新建与编译项目速度慢解决办法
  5. 将堆栈异常返回前端显示
  6. linux java测试工具_Linux下Java虚拟机状态监测工具
  7. 【转】asp.net中bind()和eval()的区别
  8. 苹果ios,下拉菜单错位的问题(目前iphone x没发现有这个问题)
  9. [转载]设计模式解密(23) - 总结篇
  10. heartbeat+iscsi+mysql实现双机高可用