当前位置: 首页 > Web前端 > HTML

小厂前端Leader如何筛选候选人?

时间:2023-03-27 23:32:22 HTML

本文来源公众号:程序员成功大家好,我是小厂前端负责人杨成功。说到面试,其实我面试经验不多,八股文我也不擅长,算法更弱。不过还好,我接触过很多人,对筛选候选人也略有经验。在我看来,面试的唯一目的就是招人。一定是因为团队缺人,需要补充,所以你放下手头的工作,花时间筛选简历,预约面试。所以作为面试官,这个时候一定要告诉自己:面试是为了找对人,而不是难倒应聘者。我见过很多互相刁难的采访。其实这是最没有意义的。双方都浪费了时间,没有达到目的。当你确定你的目的是找到合适的人选时,再问自己另一个问题:我需要找到什么样的人?如果你需要有人做基本的页面布局,薪水一般,那就不要要求对方“精通数据结构和算法”。如果你需要一个图形伙伴,不要要求某人“精通webpack优化”。当然是越多越好,但是如果强行制定了偏离要求的标准,那就别怪自己招不到人了。小厂不同于大厂。没有雪花般的简历是很难招到人的。只能放低各种硬性的、无关紧要的标准,重大放小,再通过面试、聊天等方式找到有能力的人。什么样的情况需要什么样的人,我举个例子。短期需求假设公司业务发展,很多项目来了,前端人手不够用。这个时候,我们需要扩充人员,快速推进业务发展。这时候团队需要的就是这样的人:2-3年经验,熟悉Vue全家桶,有丰富的项目经验,有丰富的实战经验。简而言之,他们能够工作。在选择候选人时,工作经验是一个至关重要的参考标准。为什么在这里需要2-3年?如果不到2年,可能是实习生,也可能是刚入行的新手。他们一般不能快速接手业务并进入开发流程,需要一段时间由了解项目的同事带领。但我们的项目急需推进,新人短期内无法上手,老人又要分配精力引导新人,会耽误进度。如果是3年以上,比如说你刚认识了一个3-4年的candidate,面试之后比较满意,我觉得还可以,以后可以重点培养。但如果超过4年,您需要考虑一件事:成本。如果2-3年的候选人可以满足您的需求,您如何说服您的老板多花钱?假设公司业务发展,前端需要接触到一些复杂的领域,比如音视频、跨端、自动化等。另一方面,在我们团队中,大家从来没有接触过它,他们没有足够的能力来做这些技术研究。这时候就需要那些兼具深度和广度的人才:3-5年经验,掌握主流前端框架,掌握前端工程,有丰富的Node.了解点播原理,有实践经验。找这类人的目标很明确,就是利用对方已有的经验或技术能力,帮助团队快速开拓陌生领域,更高效地落地项目。这时候就需要能力独树一帜的人选,而团队没有经验,就需要你冲在最前面发展。这种情况下,面试或者聊天不要总是以八股文为主,多交流实践经验,这样双方都会觉得交流是有价值的。独立并有能力解决棘手的问题。一般我会选择4年左右经验的人。而我们是否真的有能力,单凭经验是无法判断的。一定要通过面试,用实践题来挖掘能力,根据对方的表现做出判断。长期需求如果目前项目稳定,未来一年半内会有新的业务方向,仍然需要人手。这个时候可以考虑一些两年内有经验的实习生和朋友。本科及以上学历,1年左右工作经验,前端基础扎实。此类候选人经验相对较少,可以在学历方面设置一些门槛。的确,对于经历没有参考价值的同学来说,学历和专业几乎就是你的评价标准。因为短期内没有紧迫的项目,我们有时间对上述新人进行培养,为团队注入新鲜血液。一个团队,老有老的优势,新人也有新的优势。新人一般都很年轻,会给球队带来活力,有时甚至比一些老人们还要积极主动。同时,在新人和老人们“学习”和“引领”的过程中,能够促进团队的分享和交流,相互融合,也是必不可少的。但需要注意的是,对于该类工作经验不足的候选人,需要在试用期内进行考核。因为有些新人可能缺乏积极的思维,遇到过包装简历的情况,这时候就需要在试用期内及时评估候选人的能力,看他是否适合团队。招聘一个候选人,越厉害越好?这个我之前也想过,不计成本,招来的人当然越厉害越好。但是后来我发现并不是这样的。首先,一个人的经验能力和他的配合程度几乎成反比。以上面情况1为例。你有技术方案,需要招一批人快速推进。你希望这些人有很强的执行力,指挥到哪里就去打,到哪里就去干什么。但是一个工作了4-5年的程序员肯定有自己的思维,不会光做事,脑子里会有“优化思维”。比如他接到一个任务,觉得代码不合理、不规范,就忍不住想先优化一下。为什么他会想到这样做?换个思路能否实现?还有其他代码更少的解决方案吗?这种想法没有错,也很少见。只是在项目推进的过程中,快速执行显然比优化更优先。这时候你会发现,相反,那些无条件执行命令的“士兵”,协作起来更顺畅,也更容易带领他们快速推进项目。所以,招聘应聘者绝不是越有经验越好,越有实力越好,适不适合比经验和能力更重要。你要从团队合作和组合的角度去看待整体缺乏哪些能力,而不是只关注某个个体。所以,招人之前一定要想清楚,我要招他干什么?然后去找对的人。本科生就一定比大学生好吗?我面试过的候选人中,本科生和专科生分为五五(暂且算专科生)。整体上,我发现两波人还是有明显的区别的。在同样经历的前提下(比如3年),如果问一些基础性的问题,也就是我们所说的八股作文,本科生可以回答得比较好,而专科生在这方面就不会那么全面。原因可能是本科生有计算机基础,或者应试能力强,准备充分。总之,我的感觉是本科生在理论概念和语言表达方面确实很突出。不过从简历来看,本科生的技能列表大多是Vue/React/性能优化。看专科生,经常看到一些惊喜,比如nodejs/linux/flutter。显然,他们的接触面更广,尝试的东西也更多。经过仔细询问,他们确实做了很多练习。这也是有迹可循的。听到最多的就是因为学历不好,只能在项目上下功夫,尽量多接触、多实践,深挖技术。竖起大拇指。4年左右的这个阶段,我还是比较喜欢有丰富项目经验,有攻关能力和积极探索能力的人。抛开学历和算法,如何评价一个候选人的真实能力?众所周知,大厂面试筛选,首先是看学历,其次是考算法。这是职场晋升的两个门槛。但是有学历和算法能力的人工程和编码能力就一定很强吗?其实不一定。只是大厂带头,小菜跟风而已。社区里大厂千篇一律的面试博客很火,但是很少有人分享如何真正测试一个应聘者的能力。比如我们公司是小公司,面试基本不看学历,因为招人难,定规就更难了。当然,我不问算法,最多问八股论文,然后问项目经历,做过什么,解决过什么问题。别看学历、算法、八股文不多,那么“项目经验”就成了考核的重中之重。如何从应聘者的项目经历中问出真正的水平,这里是我个人的小窍门。当我拿到一份简历时,我首先会看这个人最擅长的是什么。甚至对方简单介绍自己的项目时,我都会直接问他:你最擅长什么?在我看来,对于一个有经验的前端来说,写vue页面,做布局,做状态管理,大部分都会没有问题。但是一个人最擅长什么,一方面可以反映他的经验和积累,另一方面可以反映他对这个领域的喜好、兴趣、研究,所以他擅长。当我知道对方最擅长什么时,我就可以沿着这条线提出更深层次的问题。比如对方说我擅长性能优化,那么我会连续问三个问题:1、为什么要做性能优化?2.如何做性能优化?你听说过其他选择吗?3、现有方案存在哪些问题?有什么改进的想法吗?第一个问题是why,这个很关键。当你使用一项技术时,它一定是为了解决某个问题。如果你不知道它试图解决什么问题,就很难理解这项技术的本质,但我这样做是因为其他人也在这样做。第二个问题是怎么做,这是一个选项。一个问题有很多解决方案。你在选择某一款的时候,一定要经过研究和比较,找到它的优点,才会选择它。如果你不能这样说,那么当你遇到问题需要寻找解决方案时,你可能很难找到最优解。第三题是提高思路,也就是考验复习比赛的能力。当你完成一个功能时,它可能并不完美,或者它只是解决了当前的问题。善于思考的人会回顾比赛。我的功能有什么不完善之处?未来有哪些隐患?然后在稍后处理它。如果你完成一项任务后不假思索地把它扔掉,从长远来看,你的工作质量会降低,风险评估能力也会降低。以上三个问题结合起来,挖掘对方解决问题的能力,或者说做事的思路。因为你问的是你最擅长的,所以你不会因为碰巧遇到对方的不足而错过合适的人选。还有一个必问的问题:4.说说你遇到过最棘手的问题,最后是怎么解决的?这个题目很好。谈到最难的问题时,几乎可以看出对方的技术深度。那么解决问题的过程可能越困难,就越棘手。你可以谈谈你尝试过哪些解决方案,这可以帮助你判断对方的思维能力和实践能力。而这个话题也能反映一个人在团队中扮演什么样的角色。如果这个人加入你的团队,那么他很可能会扮演这样的角色。就是这样。个人理解太多,未必具有普遍性。欢迎在评论区讨论。本文参与SegmentFault的随笔《如何“反杀”面试官?如果您正在阅读,欢迎您加入。