大厂面试干货:面试官最喜欢pick什么样的候选人

前言

  很多在CSDN的小伙伴都是研发岗,那么大厂的研发面试官们,到底是怎么考核候选人的?
  在这金三银四的季节,无论你刚刚收到面试通知,还是已经结束了面试,或者刚投出简历。这个问题都是围绕在心头最大的好奇。
  面试前要准备什么?面试官会问什么问题?怎么样的面试表现才能通过?下面我们就一起来解决这些疑惑吧。

基础知识、项目经历两手抓

  一面的时候,面试官会重点放在候选人对项目的思考上,具体从项目里获得了哪些经验,学到了什么。比如一个项目,中间出了什么问题,怎么改进,有新的需求怎么实现等等。因为如果他真的特别深入的做一个题目,肯定会遇到很多的问题,里面很多具体的点都是可以深挖的。
 比如有一个候选人,说自己做过一个秒杀系统,面试官就问他:系统的QPS能达到多少?具体实现了哪些功能?流程是怎样的?发现这些细节他都答不上来。
  其实一个有探索精神的人会把里面这些问题都研究明白,这也是工作经验的积累。随着一个人工作年限的增长,他应当不仅做出了成绩,同时也有一些思考和沉淀,这是更深度的能力提升。
  如果候选人的项目经历和这个岗位不太相关,或者所熟悉的领域面试官不是很懂,那他就会问一些计算机基础知识、基础组件的原理和应用、通用的技术方案或者算法题之类的。
  提到基础知识和算法题网上都有很多总结好的内容,但是千万不要死记硬背,因为面试官总能找到一个追问的角度,看看候选人是真的理解了这些知识,还是单纯的背答案。
  另外大部分时候面试官都会给候选人出题。做题主要是看思路,很多时候候选人一开始可能想不到最优的解法,但也有一个可行的解法也是可以的,面试官能看出来候选人在尽力解决问题,会看情况给一些提示,要是候选人实在没思路,面试官可能会换个题;如果时间来不及换题,但是基础知识和项目讲得不错的话面试官也会给通过,然后请二面面试官再评估一下。
  不过提到做题,以前有位候选人,不仅思路清晰,代码格式也很好。
当时,给他出了一道算法题,他想了一会儿,有了思路之后,很快就把框架写出来了。
  很意外的是,他并没有直接把答案写完就给面试官,而是自己又优化了一遍,最终的呈现非常完美。
  其它的基础知识问题、项目问题,他回答得也很清晰。你可以看出来他虽然水平很高,但不是那种过于自信、骄傲自大的人,沟通态度不卑不亢。
  这种就是所谓的offer收割机了,而且你会发现他整个人的状态和求职的心态都很健康阳光,不像很多人一上来就疯狂吐槽自己目前做的工作,这种心态下可能他到别的地方工作也会一直持有一种负面心态。
  总之,面试官面试的时候一是希望候选人技术过硬,二是希望他能坦诚沟通、顺畅协作,这是面试官最希望遇见的人才。

技术探索和沟通协作都不能少

  一面通过之后主要考察的是候选人深入思考的能力和对业务的理解。
  刚毕业一两年的同学,其实和校招差不多,面试官对他业务上的要求相对会低一点,但基础一定要很稳——也就是说,除了一面面试官问的基础知识之外,对技术的探索和钻研精神是必须的。比如问项目,会针对候选人项目里涉及到的一两个方向深入挖掘,有人真的会钻研这些,但有的候选人项目能运行就行,稍微深挖就只能回答“不知道,没有了解”,这其实就是考验一名研发的探索精神。
  对于工作了四、五年的候选人,就应当有足够的经验来解决一些具体的问题。
  比如在某一个特定场景下,网页加载非常慢,要怎么设计一个技术方案来解决这个问题?分几步来做?每一步做什么?面试官需要看到候选人的技术规划能力。这种人面试官就会觉得,如果睁一只眼闭一只眼放进来,他可以完成工作,但公司还是希望招非常优秀或者潜力很高的人,所以整体团队实力都很不错。
  除了技术底子和技术规划的思考,其实还会看重更多软素质:

  1. 候选人的沟通协作能力
      上学的时候总想做全栈工程师,把所有领域都搞懂,一个人完成很厉害的系统;但工作之后才发现,大部分人脱离团队都成不了事,看起来很虚的「软素质」变得非常重要。
    毕竟,除了一部分做专精方向研究的人之外,大部分人的工作都是围绕公司业务的发展和迭代展开,要实现一个业务目标,怎么调动资源,让不同团队配合你,需要的就是沟通、协调、项目推进能力。
    一个人负责的事情越重要,就需要推动越多的人和团队来配合,但每个人都会有自己的考虑:张三的另一项工作优先级更高、李四不认可这个方向、王五自己构思了另一套方案……怎么求同存异,照顾到大家的顾虑,提出一个让大家都认可的方案,是非常重要的能力。
      所以面试时面试官会重点考察表达沟通和团队协作能力,这方面比较好的人能清晰地讲出重点,这种人一般也都参与甚至负责过多人协作的项目;但有的候选人,要么说话像挤牙膏一样,问一句答一句,要么说半天都没有重点,想要推动团队合作就更难了。
  2. 候选人的潜力
      潜力有时候很难判断,但总可以旁敲侧击的感受候选人对技术和业务的关注程度。
      这些对产品和业务的思考影响了一个人的成长潜力,决定了他未来能不能更深入业务、能不能对市场有一定认知。
     最后也要考虑候选人的性格,有些人确实挺优秀,但是面试全程都表现出了一种莫名的优越感,过于桀骜不驯,可能也很难和团队合作。

动手能力一定要强

  比如前端跨专业的不少,有些虽然不是计算机科班出身,但他的投入度会比一部分计算机科班出身的同学更高,动手实践的能力更强。
  假如他前面一二面评价已经很高了,说明基础技术能力很不错,第三轮面试他的时候可能面试官就不问具体技术问题了,直接让他展示自己在GitHub开源的一些小工具,其中有一个是用来生成代码的前端脚手架,还有一个基于Vue的模板动态生成方案,也有一些小游戏之类的。
  这些项目证明,他整体动手实践能力非常强,因为要做这些脚手架,必须对一些打包工具、前端代码压缩之类有所了解,懂得底层的代码原理。
对这一类同学来说,前端就是他的兴趣,因此他会去研究前端的各个方面,虽然是学生,可能研究得不会很精深,但知识面非常广,这也证明他未来发展的上限会非常高,对非计算机专业出身的同学,面试官会更看重未来发展的上限。
  但对社招三五年的同学来看,光有兴趣和动手能力不够,思考和沉淀还是很重要的。比如是否在公司主动推动过一些性能优化的事情,能讲得出优化过程中他关心哪些指标、采取了哪些措施、最后效果如何。
  举个例子,如果问前端的性能优化,候选人泛泛的回答说需要代码压缩、图片优化,那可能只是参与了一点;但如果说得很详细,讲出代码压缩和图片优化到底是怎么做的,那说明他在这方面做了丰富的思考和沉淀。
这也能证明一个人的发展潜力,如果一个工作了8、9年的人,技术能力还可以但技术深度不够,工作没有主动性,没有主动推动过一些项目的落地,甚至还需要去push,可能就很难委以重任了。
  大厂面试官要求都比较严格的,要么技术能力过硬,有很多动手实践、很多开源贡献,哪怕综合素质差一点也可以接受;
  要么专业能力稍微差一点点,但综合素质很强——很会沟通,在产品和业务上有很好的想法,甚至有带小团队的经验,可以朝管理方向发展。
因为虽然都是前端开发,但大家的优势和分工不同,有些人是技术型选手,只要钻研技术、解决难题就可以了;而有些人是明显的业务性选手,不能光靠产品经理来给你喂需求,有时候也要反哺产品、做业务尝试、给产品提一些好点子,对很多研发来说,这一部分是有所缺失的。
  但在技术能力一样好的情况下,面试官会选择对业务更敏感的同学。跟候选人聊业务时,如果他熟悉行业目前主要产品的大致的运营数据、遇到的问题、下一步怎么做,那可能更适合团队,未来可以成为业务owner。

总结

 此外,大家还得不断地提升技术能力和综合素质,这样才能在一场又一场面试中拿到理想的offer。
  祝大家能拿到理想的offer!

你可能感兴趣的:(面试)