如何面试候选人

王喆

王喆在《算法工程师必须要知道的面试技能雷达图》中提到如何面试算法候选人,从下面4个方面去考察:

  • 知识:主要是指你对machine learning相关知识和理论的储备
  • 工具:将你的machine learning知识应用于实际业务的工具
  • 逻辑:你的举一反三的能力,你解决问题的条理性,你发散思维的能力,你的聪明程度
  • 业务:深入理解所在行业的商业模式,从业务中发现motivation并进而改进模型算法的能力

明白了这四个方面之后,再从深度去考察候选人这4个方面的的能力;如果深度够的话,再去考察广度,如果广度也满足需求,这轮面试就算通过了。

在NLP相关的面试里面,这四项又该如何定义?

  • 知识:对machine learning和NLP相关理论储备
  • 工具:深度学习框架,numpy,pandas,java和python,shell
  • 逻辑:编程题,一些有深度的知识点
  • 业务:候选人的项目,为什么如何设计模型;或者自己设计一些题

总结

在58这段时间,面试过一些候选人,有实习生,也有社招,有职位高水平差,也有非常牛的。自己在面试的过程中,也尝试总结一些东西,如何去面试一个候选人。
最开始的时候,我面试只面试一些知识点,考察候选人对这些知识点的掌握程度,然后能回答出超过2/3的内容就算通过。因为他们知识体系中,有很多知识点我并不熟悉,这样只是部分考察了他们知识,工具和逻辑的深度。这种面试是非常浅的,对于他们业务的考察较弱。
后续我增加了对业务的考察,这一块主要是通过对候选人做过的项目进行提问,项目的提问主要是围绕下属几点:

  1. 数据集。如果是新项目,问下冷启动问题。
  2. 模型结构,损失函数。(中间穿插问下,项目中用到的技术点)
  3. 效果如何,如何进行评测的。
  4. 数据如何迭代的。
  5. 训练中可能遇到的问题。(需要做过类似的项目,对这类项目能比较熟悉)
  6. 有没有尝试过其他方案。

上述的考察不仅考察了业务,同时也考察到了知识,工具和逻辑,是一种比较合理的考察方式。

同时我也给自己留下一些思考的问题。

  1. 对不同层次的候选人,要求的区别是什么?
  2. 自己也要有足够的深度才能去面试候选人。也要建立相应的广度,然后把广度拓深。
  3. 面对自己生疏的领域,怎么处理?
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容