算法岗面试方法论:以面代练

秋招接近尾声,空闲时间多了起来,开始有意识的进行回顾总结。

作为书生,最擅长的莫过于考试,我也一直把面试当做考试,并且在参加的面试中有意识地练习。

一开始面试的时候,面试官看我做的东西太多,就随便问,漫无边际的问,一会NLP,一会ML,再一会CV,手忙脚乱、应对不及。到了最后几场面试,基本可以做到引导面试官去提问,把面试官带到自己的节奏里面来,把自己的所学全方位地展示给面试官。

当然,这样只是一种技巧性的弥补方式,如果能做到什么都会,也就任凭面试官提问了。

算法岗的面试,一般有简历面、coding面和综合面。

简历面

这里其实有两个点: 简历怎么写、简历怎么讲。

简历怎么写

简历要有干货。

对于算法岗:

  • 大厂实习经历,非划水
  • 高质量paper
  • 扎实的coding能力,LeetCode 200题你值得拥有
  • kaggle之类的比赛获奖。

不过这种比赛的作用看起来似乎也来越少,很多人都能水一个top 5%,当然,任何比赛如果拿到top10,都还是有说服力。

  • 熟悉分布式框架、机器学习框架

如果上述这些都没有,我建议重新考虑下方向选择,算法和研发的薪资差距已经没有那么大。

简历要有针对性

面试是针对岗位面试,所以投递建立之前,看看公司的招聘要求绝对是个好习惯,有针对地修改简历。

  • 字节跳动-算法工程师JD

  • 百度-算法工程师JD

如何介绍简历

同样是很重要的一步,首先还是分块,背景+项目(实验室、比赛和实习等)。因为自己比较菜,没有paper,所以这部分就略过。

背景

基础信息。一般就是一句:

“你好我是XXX,武汉大学XX学院,XX软件,19年毕业。简历上写了四个项目,分别是实验室、比赛和实习时候做的东西,下面我主要介绍下实习时候做的东西。”

项目

  • 项目背景,数据和业务背景
  • 项目整体规划
  • 核心技术,这时候要注重广度和深度
  • 遇到的挑战,如何解决
  • 自己负责的部分,这也往往是面试官最关心的部分,体现出自己在团队中做出的贡献

上面提到的几个点,不是每次都要全部讲,选择性的讲出来,但是准备一定要准备到位。

coding面

实打实的硬功夫,基本没有什么技巧,LeetCode、剑指offer。

不过这里想说,心态很重要,coding和别的还不太一样,别的硬知识,会就是会,不会就不会,coding的时候一定要多和面试官沟通,如果一时没有思路可以寻求提示,快速破题。当然最重要的还是不断练习。

综合面

综合面的时候,其实就会有匹配度的问题,如果做的东西,面试官很了解或者赏识自己做的东西,就可以聊的很开,不再是单纯的面试而是交流,交流实际做东西的时候遇到的问题,以及未来可以应用的场景。

以上是一些方法技巧性的回顾,真正通过面试,还是要靠平时的积累。