从之前的科技行业到现在的金融行业,我前前后后面试过上百个数据科学岗位的求职者;有些感想,也有些有意思的小事情,这里跟大家分享。

我面试的岗位一般社招占据了大多数,也意味着面试者往往已经有了几年的工作经验。

面试中我一般会先介绍我们组和我们公司的情况,然后简单介绍自己,包括自己的背景、经历、何时加入公司、平常工作主要在哪一些方面。无论如何有经验的人面试中都会紧张,所以先于求职者而为他们做自我介绍可以缓解一些紧张感,也让他们对面试官的背景有所了解,大体对面试内容和风格有所准备。

之后是求职者简单的自我介绍,从中大体了解其教育背景和工作经验,以及比较擅长的方面。

在这之后,我会要求求职者针对自己以前深入做过的某一个项目做详细介绍。这个可以是求职者自己决定的项目,或者我也会根据岗位要求指定某一个相关项目来讲。如果项目本身对我们希望考察的技术还不够深入才会再追问一些纯技术的题目。

比如我们找 NLP 的人,就会详细考察跟自然语言处理或者深度学习相关的项目;找数据工程师,就会多问问和数据获取、清洗、特征提取、SQL 或者大数据平台相关的项目;找算法工程师,就会着重在数据预处理、模型训练、机器学习算法、模型评测的项目以及和业务同事的沟通等方面。

有很多求职者本身技术能力很出众,但并不是很懂得表达自己,尤其在英文面试环境中有所顾虑,发挥失常。这样就着求职者自己做过的项目来面试,可以让求职者在一个相对舒适的环境中展现自己真正的能力。

整个过程比较类似硕士或者博士答辩,也对我们面试官自己提出了高要求:精神高度集中,而且随时针对自己感兴趣、和目标岗位高度相关以及求职者没有讲清楚的部分打断并发问。我自己也很享受这个过程,因为数据科学从业者的背景都是五花八门而不仅仅是计算机科学,像我自己就是学物理出身,从求职者的研究和工作经历中也可以学习到各种不同的数据科学应用,非常有趣。

虽然毕业学校、学历高低、工作经验长短等都确实能一定程度反映出求职者的能力,但我自己最看重还是创造价值:学习工作了这么久,汲取过这么多知识和经验,你最后产出和贡献了什么?

相比起刷过的题和背过的算法,我更看重的产出和贡献,可能是合作发表的学术文章,远程开源的代码项目,为公司核心业务开发的产品,抑或一些帮公司真正赚过钱或者省过钱的大小项目。通过对这些项目的详细了解,能更全面地了解求职者技术、业务乃至沟通和商业嗅觉的真实能力。

很多数据科学岗位的求职者会简单介绍项目背景之后直接跳入算法细节之中。我一般会在细究算法之前追问很多繁复的关于数据的问题,比如数据源头是哪里,是什么业务逻辑,是否有数据传输和隐私保护的问题,数据量有多大,数据维度有哪些,以什么方式存储和调取,分布如何,如何清洗,等等等等。算法之后我也还会深究模型的评测以及上线部署部分。数据科学不只是算法,实际工作中我们往往花费几倍的时间在算法以外的部分尤其是数据处理的部分。

我们还遇到过一些求职者,会滔滔不绝讲很多内容但技术信息量不高,而且经常会把别人做过的事情讲成是自己做的。这些部分无论如何粉饰,面试官都是比较容易辨别出来的,几个关于技术细节的追问就会暴露,所以希望求职者还是实事求是,多讲自己真正做过的干货,也把属于别人的 credit 给到别人。

疫情期间也做过很多次的远程视频面试,有一些求职者很明显在介绍项目或被问到问题时在电脑屏幕上翻项目之前的 PPT 资料或者是现场 Google,这不是一个很好的行为。如果记不住具体细节或者不知道答案,可以做出自己的 sophisticated guess,或者大大方方承认不知道就好了。比如项目中用到了 GRU,我问 GRU 的全称是什么,如果一时想不起来大可以说不记得,简单补充下说这个是比 LSTM 参数更少的序列模型,这远比让面试官远程视频上慢慢看着你 Google 靠谱多了…

做技术的人往往有自己心中的技术鄙视链,我们都见过两个程序员为了 space 还是 tab 缩进这件事大打出手,这种心态于面试官和求职者都极不可取。一个个人的例子,我自己是用 Python 而没怎么用过 R,而且一直对 R 在工程开发方面有一些偏见,认为 Python 是最好的语言。后来发现我们公司的精算师都在用 R,社群之规模和氛围毫不差于 Python 开发者,而且 R 一样可以实现很多媲美 Python 工程方面的效果。所以渐渐我也开始反思自己要有意识地摒除那些技术偏见。

无论求职者是什么背景,是用 Python 还是用 R,数学强还是代码强,擅长做研究还是擅长做开发,性格外向还是内向,是中国人还是印度人,爱不爱吃羊肉泡馍与糖蒜,作为面试官的自己都会全程保持一百分的平等和尊敬。江湖就这么大,圈子就这么小。我自己上一份工作为面试官面试过而且没有给 offer 的一个哥们,在我换工作以后成为了我的同事,这是真事,而且我们一直是不错的朋友。

面试过程本来就是一个双方互相学习了解的过程,在可允许的范围内坦诚布公,面试官充分了解求职者的强弱点,而求职者也可以利用这个机会了解面试公司的一些情况。

拿到 offer 固然好,拿不到也绝对不代表求职者能力弱,只是适合不适合的问题。希望所有去面试的同学都能把心态调整好,无论是旗开得胜还是屡败屡战,都能最终拿到自己心仪的 offer。上述的面试流程也仅是我个人的偏好,你还遇到过什么样有趣的面试经历或者对面试官有什么吐槽?欢迎分享在留言里。

博主的原创文章尽量做到周更,公众号聊天功能现已集成基于中文 GPT 模型的 chatbot。感兴趣的朋友们请长按二维码关注 微信公众号“王尔古” (ID: erguwang) 或 博客“羊肉泡馍与糖蒜” (www.crownpku.com) 。谢谢。