如何识别一个优秀的算法工程师

在BIGO工作期间,面试了不少求职者,有应届毕业生,也有工作了好几年的,当然,有时候 也有像我一样,从其他领域转来做深度学习的同学。面试完后,对于一些同学,面试官之前 常常有争议,有的觉得挺不错的,其他面试官觉得一定不能要。所以,在面试了很多次后, 我自己也常常想,什么样的同学是企业所需要的,如何识别其中优秀的同学,又如何识别那 些夸夸其谈之辈呢?

个人觉得,一个优秀的算法工程师,有以下气味:

代码能力很强

这个是我觉得最为重要的能力。常常遇到一些对各种模型paper了如指掌,从faster rcnn系列 到ssd, yolo,无所不知,然而让他写一个计算iou的代码就傻眼的同学。在我看来,这些同学 只是调包侠而以,在求职市场上是最低级的存在。有些同学也许会反驳我,一些博士代码能力 也一般,可是数学好,做模型强啊。恰恰相反,我认识的一些真正的牛博中,没有一个不是代码 能力强悍的,可以想象,他们那些精巧的模型,没有强悍的代码能力做支持,是如何开创性的 实现出来并发paper的?所以,纸上谈兵谁都会,show me the code。

真正理解算法,而不是只会推导公式

我面试时,很少让人直接去推导个什么公式(当然 大专栏  如何识别一个优秀的算法工程师,各种线性模型我还是会考察的,这是基本 的线性代数能力),但是我会去考察其形象理解能力。譬如,我常常看到有同学简历里写到 会svm,于是我会问他们,svm和逻辑斯特回归,当数据类别严重不均衡时,应该选择哪个更 好呢?这个问题不需要会推导求解公式,然而却能真正考察面试者是否真正理解svm的出发点, 如果这个问题回答不出来,我认为,即使是会推导svm的求解公式,也是比较差的候选人。

学习意愿强,不挑活

算法工程师之所以叫算法工程师,是因为他们常常会遇到未知的问题,学习并尝试解决它, 所以,学习意愿不够强的人,不能要,知识储备再高,也会遇到未知难题。挑活的,也不能 要,实际工作中,从找数据到清洗数据,这都是落地算法的必经之路,没有人能有特权只选择 自己想干的,把脏活累活丢给别人。

实际面试中,面试10个人,能有2个人能达到上述要求就不错了。所以,之前在知乎看到一个 讨论,说2019的校招深度学习岗位竞争是否很激烈,我想说,其实觉得激烈的,大多是那些 看着这行有热钱,网上随便看了看视频就来面试的,对于真正在这行有能力的同学,一点都 不激烈,是被各个公司抢着要的。而且,经过这么久,团队从无建立,各个公司也明白了, 其实算法团队招人重在质量,而非数量,招10个混混,不如一个大神,算法领域确实如此。

猜你喜欢

转载自www.cnblogs.com/lijianming180/p/12401901.html