年前就有和几个同学在和我 1v1 面试咨询 的时候,说:现在面试都不考基础知识和八股文了,上来就聊项目。
其实我也很早就意识到这个问题了,现在和前几年完全不一样了。
2021年之前,随便写个简历,背诵 1-2 周八股文就可以去面试了。而现在,每一步都很困难。
举个例子:Vue 性能优化方式
在我的 1v1 模拟面试 中,我经常会问一个问题:Vue(或 React)有哪些性能优化方式,请结合项目说明。
很多同学就开始背诵了,一般第一条是:使用 v-show 不要使用 v-if ……
他还没有背完我就会立刻打断他,然后追问:在你的项目中,什么情况下需要用到 v-show 请举例说明。
一般这个时候他就懵了,不知道如何回答,因为真的没用过 v-show。而且之前准备的时候压根想不到,光知道大家都这么说,就背诵下来,一看到问这个问题赶紧一顿输出回答。
这种类型的问题还有很多。例如简历中写“首页加载速度提高 50%”,我会问在优化之前具体是多少秒?再例如简历中写“代码体积压缩 80%”我也会问压缩之前具体的体积是多少,以及哪几个 lib 占据的最大?
你是否真的有这方面的经验?一旦问到项目的具体细节,立马就能体现出来。这不是基础知识和八股文能代替的。
为什么会这样?
凡事都有原因,我试着来分析一下。欢迎大家来评论补充。
框架普及化
现在前端框架和技术栈已经完全普及,而且基本稳定了,就那些东西。大家开发也都会选择一个框架前端面试技巧,一个脚手架,直接按照框架既定的写法来去开发。
但这也同时带来一个问题:框架的普及会降低对程序员技能的要求。例如:
日常工作都接触不到基础知识,那面试也就被问的少了,这很正常。
工具精细化
现在各种脚手架,一键为你自动配置 webpack eslint prettier 和 TS 开发环境,不再需要你自己配置。
甚至 vite 直接内置集成了常见的性能优化配置,能满足大部分场景。可能会有自定义的配置,也都被组内的高工做了,不需要频繁改动。
所以现在很多同学工作两三年了,但压根就没有接触过 Webpack vite 的配置。
同理,工作中不需要,面试也不会优先问这些。即便问,也是问像性能优化、原理等高阶问题。
前端人员整体技术提升了
现在不再像 2015 2016 年时,培训机构大量生产初级程序员,投放到市场。
刚入门的程序员,很多都是包装的工作经验,问基础知识和八股文就能淘汰一大批,剩下的就可以顺利工作。
现在大家的平均工作经验都在增加,技术能力都在增加。而且现在网络上的资料和 Ke 程遍地都是,想复习基础知识和八股文比之前容易多了,专心复习 1-2 周就能有很大突破。
水涨船高了,光通过基础知识和八股文已经无法判断优劣。工作经验多了,最后拼的还是真实项目经验。
企业岗位减少
2021 年之前,公司多,岗位多,大家都抓紧招人,组建团队抓紧搞业务。
想快速招人,就不能那么精细,就尽量用标准化的流程和方法,像算法、原理、基础、八股等这些都比较受欢迎。快呀,而且不会有什么大的差错。
现在岗位少了,招一个人不容易,而且来应聘的还挺多,竞争激烈,那企业就得精挑细选一下,面试就得问点实际的。
我们该如何应对?当前:认真准备自己的项目经验
第一,你要认真写好简历,把你项目的内容和亮点都准确的表达出来。你可以看看我的 1v1 优化简历的一些案例分享[1] 。有需要也可以私信我。
你得拿出 大厂程序员写晋升 ppt 的劲头 来写简历。PS:他们都提前一个月就准备 ppt ,上班天天琢磨 ppt 怎么写,而且要经过几轮模拟答辩。
第二前端面试技巧,提前准备面试时的项目介绍和项目难点,尤其是项目难点。你不提前准备好,面试时就可能说不顺畅、不全面。我之前写过一篇文章 前端面试必考题:介绍项目和项目难点[2] 可供大家参考。
接下来:参与到一个复杂项目中来,提高项目技能
主要是针对工作中没有复杂项目的同学。工作中没有,那只能业余找一个练手。
PS:时间在一年一年的过,工作经验多了,也会对你的项目复杂度要求更高。
所谓的“真实项目” “复杂项目” 还有更厉害的“企业级项目”,这些词都被各种ke程用烂了,大家一定要擦亮眼睛。