面试了十几位前端有感

298 阅读7分钟

创业后一直没有前端,一直都是后端干着前端的活,当然对技术尤其是创业公司而言,其实没必要分前后端这么细,但我们还是希望能招到一位比较有经验的前端,一是团队的人员配置更加合理,二是有一位有经验的前端可以给我们团队带来很大的帮助,提升我们的前端的整体 level,比如有时页面需要用一些复杂的交互动画或者碰到一些疑难杂症如果招一位有经验的前端能让问题更快速的解决。

基于以上的这些想法 ,我们打算招一位有经验的前端,由于之前委托过别人招聘过一位不合格的前端,所以这次招聘我们决定自己上阵,当然要求其实不会很高,能干活,有潜力,完整地参与过商业项目的开发即可,毕竟创业公司压力比较大(我们大小周),而且总的 package 确实不如大厂,如果再按大厂的要求来招聘那估计招不到多少人。

在面试中我发现一些共性的问题,这里简单总结下,最近也有不少读者让我帮忙看看简历或者说说面试中注意的事项,也顺带借此简单说下

1.简历的书写问题

这一块我发现主要有以下问题

简单罗列项目,未突出重点

不少人简历大段大段地介绍项目的功能,确实写了一些对应的技术栈,但面试官最关心的比如技术难点和自己承担的角色却只字未提,这样的简历其实是要打折扣的,面试官其实更关心的此项目的含金量,在我看来主要有以下两点

  • 项目中的难点与改进: 这一点尤其关键,最好能有可量化的指标,比如说通过采用 xxx 等手段,让页面的加载速度提升了xxx s,通过对 xxx 开源项目的改造,解决了 xxx 的痛点等
  • 自己在项目中承担的角色: 这一点也很重要,同样一个项目,承担的是核心还是边缘角色,这对个人的评价至关重要,如果是核心开发角色并承担了主要技术的攻关,无疑能让简历的份量大大提升,反之会逊色不少,但如果你承担的就是边缘角色呢,该怎么办,我觉得个人也得主要去了解整个项目的脉络,各个功能模块的实现原理,尤其是那些技术实现难点,最好也能把它们都摸透,这样能把项目的难点等说透在逻辑也能自洽

2. 简历上写的与自身能力不匹配

这一点是大忌,在面试中发现好几位有这样的问题,比如有一位说使用代理服务解决跨域问题,结果一问部署步骤说不出所以然,再问什么是跨域,也说不上来,再比如有一位说熟悉 TCP 协议,结果一问为什么需要三次握手,也说不出个所以然,这些都是比较忌讳的,面试官只能通过简历来了解你,如果简历上写的点与实际不符,他可能会很怀疑你简历你的真实性,或者认为你个人不够严谨,这样最后的结果往往不理想,不熟悉的就不要写,写上了就一定要了解掌握这些技术点的原理,至少要让你的能力与简历上的相符

接下来再来谈谈简历中的加分项,在我看来以下两点无疑会大大加分

主动解决问题的意识

项目中存在问题,如果自己能主动推进解决,这样的简历毫无疑问会大大加分,比如我之前就曾在我是如何晋升专家岗里提到主动去优化技术方案将打包时间从一个多小时降低到 3 分钟以内,这些没有人让你做,属于「无中生有」,如果能解决好这些问题那你的简历其实是非常亮眼的,可能有人说这样的机遇可遇而不可求,其实我觉得还是要看自己是否有心,比如我面过一个两年工作经验的前端,问到代码规范的问题,他说组内主要看个人的意识,这显然是有问题的,也不利于团队协作,最佳方式应该是靠工具的形式来约束,比如使用 VSCode + eslint 插件自动修复或者指出你的代码问题,光这样还不够,如果有些人不修复,写了一大堆 console.log 提交了怎么办?所以你还需要利用 git commit 的 pre hook 来校验代码规范,如果校验不通过那就不让提交,通过这样的方式就有力推进了代码规范,你看这就是一个很好的优化点,如果你能推进这方面工具化的落地,那说明你有一定的技术追求与代码规范和工具化意识,这在简历上无疑是一个比较大的亮点。

再比如一些候选人所在的公司在外包公司或者其他的一些小厂,一些发布流程不是那么自动化(碰到几个手动需要手动打包后再交给运维部署的), 那能否想办法把这个流程自动化呢(比如很多大厂里的发布流程都是一键点击自动化的),这样的话省去了人力之苦,而且也对项目是怎么跑起来的有一个清晰的认识,如果我们在项目中碰到这些不那么高效的活能把它自动化掉,那对团队的效率提升无疑是很大的,也能为你的履历添砖加瓦。

线上部署可演示的项目

这一点对于工作经验不足的开发者尤其有帮助,比如我发现其中一位候选人就做得很好,让我印象深刻,他业余时间自己做了一个如下皮卡丘的动画项目

在线上可演示效果,并且还有代码滚动展示,这种意识确实非常棒,让人感觉更真实,收到的挺多简历都写着做过 xxx 系统,如果这些能在线上让面试官体验一下,确实是一个很大的亮点。

再比如秒杀系统在后端面试中经常出现,那我们能否去做一套这样的系统并部署上去呢,如果能让面试官体验一下,用户体验上无疑会好很多,怎么从 0 开始做秒杀项目呢,这里推荐几个我看过的质量很高的专栏和文章,可能对大家有帮助

  1. 极客时间的《手把手带你搭建秒杀系统》从 0 到 1 带你打造一个百万 QPS 的秒杀项目,关于秒杀理论讲解得很到位,实践性也很强
  2. github 上的 2.2w star 的秒杀项目:github.com/qiurunze123…
  3. 秒杀系统实战总结,一位技术总监关于秒杀的总结,根据他们公司的秒杀项目估的总结,可以应付大部分的场景

部署一个完整的上线项目,一来可以让你对项目如何是跑起来的会有非常感性的认识,二来面试官线上可以有直观的体验,而且也能看到你的代码书写规范等,好处很多,挺多人说自己没有高并发经验,那就手动实践一下部署上去让面试官见证一下,这些经验不就有了吗,好处这么多,何乐而不为呢。

另外不少人抱怨说面试官喜欢问很多八股文,其实我想说的是如果项目经验足够硬核,技术含量足够高,没有人喜欢也没必要问那些八股文,直接顺着项目经验问你在项目中掌握的技术点就足以给你定级了。