尽管对数据科学家职位一直供不应求,但公司在招聘数据科学家时仍然非常挑剔。如果你申请这个职位,你需要在回答所有问题时脱颖而出——并证明你有能力处理极其精细的数据工作。
但这不仅仅是炫耀你是一个关注细节的求职者;因为数据科学家必须从数据中洞察信息,帮助公司推进其整体战略,所以你必须表现出你掌握了“大局”。例如,在描述之前做过的项目时,你需要花费一些时间向面试官介绍项目部署过程和最终目标。
“通常情况下,供选择的模型很多,但选择更为简单的模型部署表明你懂得做出权衡,”OpenMined 的人工智能研究工程师和推荐团队负责人马德琳·尚这样说道。
为了帮你做好准备工作,我们将向你介绍一些数据科学家面试中的常见问题以及这些问题的回答技巧。
面试问题(1)
请描述在最近的项目中, 如何选择合适的算法(或多个算法)去解决技术困难?
吸引面试官的最佳方式是描述你之前做过的项目,这个项目需要与潜在雇主的目标和工作流程相呼应,具体到是怎样进行部署过程(或本该怎样部署)。一旦你细致地描述该项目,像Shang这样的数据科学专家可能会深入探讨相关问题,例如:
- 你为什么选择这个特定的算法?
- 该算法的基本假设是什么?数据中是否遵从或违反了这些假设?你是怎么验证的?
- 你选择并优化了哪些参数和超参数?每个超参数在模型中的作用是什么?你是否有单独的参数调整数据集(未包含在训练和测试集中)?
- 如何在算法中扩展更多数据?数据不平衡时又该如何扩展?
- 该算法的运行时复杂度和内存复杂度是多少?
- 你对该项目的最终效果满意吗?如果现在再做一次,你将做出什么改动?
提示
要准备有关项目过程和结果的问题,列出你做过的所有模型以及你在此过程中所做的相关分析。
“最好是从简单开始描述,”Shang指出。描述你开始从非常简单的模型(如 GBDT 模型)开始,继而如何在一个小的平衡样本上过度拟合它们。如果你选择复杂的模型,招聘经理可能会认为描述过程非常会非常复杂且冗长(这是一个危险信号)。
想让招聘经理对你印象深刻?Pure Strategy 的创始人兼首席执行官 Briana Brownell 深入研究了数据科学项目对公司的影响,内容如下:
“许多背后故事都不为人所知,”布朗内尔指出。成功的数据科学家与那些努力获得信誉的人的区别在于,前者能够将项目结果融合到公司更广泛的战略中。
面试问题(2)
在工作和技术领域之外,你有什么爱好和兴趣?
除了更多地了解你这个人之外,招聘经理还想看看你是否可以将与工作相关的基础知识、解决问题的能力和沟通技巧应用于外部情况。讨论个人爱好和外部兴趣也会间接透露你喜欢与什么样的人工作。
例如,如果求职者说喜欢射箭,Shang会要求他们传授成为一名优秀射手的关键点——他们会推荐哪些方面呢?这也是求职者展示他们如何简单直接地解释复杂话题的好机会,这一能力对传达数据分析结果至关重要。
小贴士
Shang问这个问题,是在寻求应聘者的共鸣。同时,她也是在评估候选人分解主题以及交流的能力,要求达到复杂程度适中,但又不失细节。
面试问题(3)
这是一段机器学习相关的代码。请检查它是否存在潜在的Bug、是否效率过低以及如何改进。
招聘经理不仅要求数据科学家代码设计能力强,实践经验丰富,基本熟悉语法,同时要求具有一定的软技能、团队协作能力以及勤学好问,懂得轻重缓急。
提示
因为代码审查有时会使团队氛围变紧张,所以模拟审查也够显示出你的团队协作能力。
面试问题(4)
请问你在最近一个项目的设计和实施中面临的道德问题和挑战, 你是如何解决这些问题并赢得信任的?
数据科学家构建模型和收集数据的方式可能会出现偏见、歧视、缺乏透明度和公平性以及隐私问题。然而,最近的一项调查发现,许多数据科学家并没有关注他们可能遇到的道德难题。
提示
Brownell 建议,要想在面试中脱颖而出,请准备好讨论数据科学家可能遇到的道德困境。在面试中要表现出你知道如何将道德监督和分析加入到数据科学项目,并通过有偏见的数据集、异常值等来缓解潜在问题。
作者:Leslie Stevens-Huffman