求职指南【3】-面经 | 面试机器学习岗位你所不能不知的事!
AI研习图书馆,发现不一样的精彩世界
面试
机器学习算法工程师面试知识点总结三
一、前言
人们常用很多东西来比喻准备面试的过程。
成功的关键在于思维方式和充分的准备。
![](http://n4.ikafan.com/assetsj/blank.gif)
二、面试准备
1. 思考公司和角色
2. 发现核心问题
你要做的第一件事情就是设想自己已经得到这份工作后的情景。为此你需要尽可能地收集和整理关于这家公司和这个职位的信息。
寻找这个问题的答案的过程,应该是令人兴奋的,能驱使你去了解更多关于这个问题的信息——像是现有的解决方案、近几年的新趋势等——并让你看清具体的难点在哪里。如果你明确地知道自己申请的职位是属于哪个团队的,那么就很容易挑选一个合适的问题;否则的话就挑选一个对公司来说非常基本的问题。除此以外,你还可以思考这家公司目前面临着怎样的挑战,从而预计他们可能会问你的问题。
3. 寻找可能的数据源
在找出问题以后,接下来你就要思考你需要怎样的数据来解决这个问题。有些数据可能是现有的,另外一些数据可能需要你写一些额外的代码来收集。
尝试去了解这家公司的基础设施和运维情况——他们用了怎样的技术栈、提供哪些 API、已经收集了什么类型的数据、等等。现在很多公司都会维护一个博客来讨论他们遇到的困难、采取的解决方案以及成功和失败的案例。你可以通过博客来更深入地了解他们是怎么运营的,他们的流水线上已经有了怎样的产品和服务等。
4. 讨论和交流解决方案
好了,现在你要做一个很大的思维跳跃:如何将机器学习应用到这个问题场景中去?给定你想达成的目标和你认为可以获取的数据,你能把它转化成一个机器学习问题吗?哪些模型会比较合适?你将如何训练和评估模型?
举个例子,像 Netflix 和 Amazon 那样的推荐系统所面临的主要挑战并不是预测,而是聚类——也就是说,当你能够将用户划分成购买偏好和行为相近的群组后,再给他们推荐产品就很容易了。
事先走一遍这样的思考过程,能够帮助你在面试中很好地谈论公司最关心的问题。不会有人指望你能够走进面试房间然后把一个他们研究了几个月甚至几年的问题给完全解决,但面试官一定会喜欢对他所真正关心的问题展现出兴趣、动力和好奇心的候选人。
根据面试官和环节的不同,你可能会被问到很理论性的问题,但你应该用这个机会来展示自己对公司的了解和对角色的定位。当被问到一些开放性问题,比如说 “请描述一个你在做项目时遇到过的技术难题以及你是如何解决它的”时,最好选择一个跟公司有关的话题来谈。
三、结语
本文想要展示的是机器学习工程师面试的两个方面:情景侧和技术侧。在这里想强调一点,你不应该牺牲前者去追求后者。很多热爱机器学习的人往往沉浸在准备技术层面的问题上,而很少去考虑为什么这家公司会开发这么一个职位,为什么他们会想要机器学习作为解决方案,为什么他们会想要你。理解这些问题能够在你回答技术问题时提供情景,从而让你在诸多的候选人中脱颖而出成为适合公司的人。