星期三, 三月 14, 2012

数据挖掘工程师面试指南


数据挖掘领域是一个独特的行业,通常的招聘面试方法可能不大适用于本行业的特点。在招聘一个合格的数据挖掘工程师时,公司一般关注以下三个方面:
  • 他聪明吗?聪明意味着能透过复杂的信息建构问题并以正确的方式加以解决。聪明人还能从失败中获取经验。
  • 他能否专注于项目?专注意味着在各种困难的环境内,仍能独立或合作完成项目。
  • 他是否能与团队一起工作。团队合作需要很好的沟通能力,工作中涉及到的概念、问题、模型、结论等都需要成员之间正确的沟通方能加以明确。
为了解候选人是否具有数据挖掘工程师的潜质,需要一小时的面试,主要通过以下五个环节:


1 简介
如同交谈之初的寒暄一样,简介是使候选人放松下来。可以先介绍一下公司本身的情况,再回答对方的一些疑问。如果问题很复杂,可以将回答放到面试的最后阶段再处理。

2 关于数据挖掘项目
这是最为重要且耗时的面试阶段,询问候选人最近接手的数据挖掘项目的情况和处理方式。要提问的方面包括:
  • 他一开始是如何描述这个项目的
  • 项目持续了多长时间
  • 这个项目的关键问题是什么
  • 问题是如何得到解决的
  • 在数据挖掘项目中最为困难的阶段是什么
  • 最有趣的阶段又是什么
  • 在他眼里,客户是怎么样的
  • 团队的其他成员又是如何表现的
  • 从中获得了什么样的经验
在这个面试阶段,不仅要提问关于“what”的问题,还要很多关于“why”的问题。因为优秀的数据挖掘工程师要能面对客户,清晰的论证并支持其提出的观点。

3 关于数据挖掘的流程
考察候选人对于工作流程的认识是必要的,如果他谈到了跨行业数据挖掘流程规范(CRISP-DM)意味着好兆头。有很多时候,候选人对这些规范不以为然。虽然说从不同的角度来看待问题是一种创新,但是创新也需要建立在坚实在流程标准之上。因为它可以保证我们不会出现大的纰漏。

必要的时候,可以用白板让候选人画出流程图。并让他评价这些工作中最为重要或需要反思的地方。因为建模工作不可能一次完成,反复的提炼问题、建立模型的情况是经常遇到的。

另外可以在某个挖掘流程进行深入考查,例如询问对方如何避免过度拟合,如何从大量的候选变量中进行筛选,如何评价或比较模型的效果。

4 解决问题
软件公司的面试一般会包括“编码测试”,考查数据挖掘工程师也应该如此。一种可以参考的作法是提供一份存在缺陷的分析报告。让候选人对报告进行研究,表达报告中结论的意义,提出其中所存在的问题或不足,提出改进或补救的方法。

5 收尾
在面试的最后阶段,需要回答候选人的其它提问,并使之相信本公司在本行业中的优势地位,以及在职业生涯中的作用。在完成面试后,需要立即将面试记录进行整理存档。

面试是一件苦差事,但也是一个交流学习的机会。通过面试可以了解到其它人遇到的问题,以及他们是如何解决的。

注:本文得到discovery公司的授权,摘译了其文章的一部分。据笔者了解,discovery公司主要使用SPSS model进行数据挖掘,图形表现工具则是tableau。

没有评论:

发表评论