前言
大家好,我是前端双越老师。先祝大家 2024 开工大吉!!!
年前就有和几个同学在和我 1v1 面试咨询
的时候,说:现在面试都不考基础知识和八股文了,上来就聊项目。
其实我也很早就意识到这个问题了,现在和前几年完全不一样了。
2021年之前,随便写个简历,背诵 1-2 周八股文就可以去面试了。而现在,每一步都很困难。
举个例子:Vue 性能优化方式
在我的 1v1 模拟面试
中,我经常会问一个问题:Vue(或 React)有哪些性能优化方式,请结合项目说明。
很多同学就开始背诵了,一般第一条是:使用 v-show
不要使用 v-if
......
他还没有背完我就会立刻打断他,然后追问:在你的项目中,什么情况下需要用到 v-show
请举例说明。
一般这个时候他就懵了,不知道如何回答,因为真的没用过 v-show
。而且之前准备的时候压根想不到,光知道大家都这么说,就背诵下来,一看到问这个问题赶紧一顿输出回答。
这种类型的问题还有很多。例如简历中写"首页加载速度提高 50%",我会问在优化之前具体是多少秒?再例如简历中写"代码体积压缩 80%"我也会问压缩之前具体的体积是多少,以及哪几个 lib 占据的最大?
你是否真的有这方面的经验?一旦问到项目的具体细节,立马就能体现出来。这不是基础知识和八股文能代替的。
为什么会这样?
凡事都有原因,我试着来分析一下。欢迎大家来评论补充。
框架普及化
现在前端框架和技术栈已经完全普及,而且基本稳定了,就那些东西。大家开发也都会选择一个框架,一个脚手架,直接按照框架既定的写法来去开发。
但这也同时带来一个问题:框架的普及会降低对程序员技能的要求。例如:
- Web 开发都使用 Vue React 组件和相应的 API ,你就不需要再去学习 DOM API 。
- 框架限制你自由的写 JS 代码,你也就很少能碰到像闭包、内存泄漏等疑难问题。
- Axios 封装了 ajax 的常见操作和配置,也让你远离了 HTTP 协议。
- 引入各种 UI 组件库,你都不用写 CSS 了 (剩下的一些 CSS 写法也都被 tailwindcss 捡漏了)
日常工作都接触不到基础知识,那面试也就被问的少了,这很正常。
工具精细化
现在各种脚手架,一键为你自动配置 webpack eslint prettier 和 TS 开发环境,不再需要你自己配置。
甚至 vite 直接内置集成了常见的性能优化配置,能满足大部分场景。可能会有自定义的配置,也都被组内的高工做了,不需要频繁改动。
所以现在很多同学工作两三年了,但压根就没有接触过 Webpack vite 的配置。
同理,工作中不需要,面试也不会优先问这些。即便问,也是问像性能优化、原理等高阶问题。
前端人员整体技术提升了
现在不再像 2015 2016 年时,培训机构大量生产初级程序员,投放到市场。
刚入门的程序员,很多都是包装的工作经验,问基础知识和八股文就能淘汰一大批,剩下的就可以顺利工作。
现在大家的平均工作经验都在增加,技术能力都在增加。而且现在网络上的资料和 Ke 程遍地都是,想复习基础知识和八股文比之前容易多了,专心复习 1-2 周就能有很大突破。
水涨船高了,光通过基础知识和八股文已经无法判断优劣。工作经验多了,最后拼的还是真实项目经验。
企业岗位减少
2021 年之前,公司多,岗位多,大家都抓紧招人,组建团队抓紧搞业务。
想快速招人,就不能那么精细,就尽量用标准化的流程和方法,像算法、原理、基础、八股等这些都比较受欢迎。快呀,而且不会有什么大的差错。
现在岗位少了,招一个人不容易,而且来应聘的还挺多,竞争激烈,那企业就得精挑细选一下,面试就得问点实际的。
我们该如何应对?
当前:认真准备自己的项目经验
第一,你要认真写好简历,把你项目的内容和亮点都准确的表达出来。你可以看看我的 1v1 优化简历的一些案例分享 。有需要也可以私信我。
你得拿出 大厂程序员写晋升 ppt 的劲头
来写简历。PS:他们都提前一个月就准备 ppt ,上班天天琢磨 ppt 怎么写,而且要经过几轮模拟答辩。
第二,提前准备面试时的项目介绍和项目难点,尤其是项目难点。你不提前准备好,面试时就可能说不顺畅、不全面。我之前写过一篇文章 前端面试必考题:介绍项目和项目难点 可供大家参考。
接下来:参与到一个复杂项目中来,提高项目技能
主要是针对工作中没有复杂项目的同学。工作中没有,那只能业余找一个练手。
PS:时间在一年一年的过,工作经验多了,也会对你的项目复杂度要求更高。
所谓的"真实项目" "复杂项目" 还有更厉害的"企业级项目",这些词都被各种ke程用烂了,大家一定要擦亮眼睛。
至少要包含如下条件:
- 真实上线运维的项目,能亲自注册使用的,看得见摸得着的。要有域名、备案、SSL 证书、服务器或 Serverless 服务、数据库、CND、OSS、统计、监控报警等基础服务,最好还有手机号注册、微信扫码登录、微信支付或退款,等常见功能
- 全栈项目。拥抱全栈吧,纯前端,切图仔,未来没有前途的。前端框架和技术栈已经未定了,你再去卷源码、造轮子没有太多意义的。node 全栈(或 SSR)却有另外一片天地
- 一个有前途、且实用的业务方向。例如低代码、中台 已经过时了,开源项目也不可持续,都不好。目前看来,AIGC 是一个不错的方向(就在前两天 OpenAI 发布 Sora 智能生成视频,刷爆朋友圈)
我目前也在考虑这方面的事情,有了确定的想法再和大家分享吧。如有建议可以评论或者私信告诉我。
总结
前端面试减少了基础知识和八股文的考察,更多聊项目经验。我觉得这很好,能筛选出更加专业的候选人,而减少"浑水摸鱼"的人。同时也给了大家更高的要求:做好项目,写好项目。
有其他想法,欢迎评论~