为什么现在前端面试都不考八股文了?

122,072 阅读6分钟

前言

大家好,我是前端双越老师。先祝大家 2024 开工大吉!!!

年前就有和几个同学在和我 1v1 面试咨询 的时候,说:现在面试都不考基础知识和八股文了,上来就聊项目

其实我也很早就意识到这个问题了,现在和前几年完全不一样了。
2021年之前,随便写个简历,背诵 1-2 周八股文就可以去面试了。而现在,每一步都很困难。

原文地址 juejin.cn/post/733685… 非作者允许不得转载

举个例子: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 服务、数据库、CDN、OSS、统计、监控报警等基础服务,最好还有手机号注册、微信扫码登录、微信支付或退款,等常见功能
  • 全栈项目。拥抱全栈吧,纯前端,切图仔,未来没有前途的。前端框架和技术栈已经未定了,你再去卷源码、造轮子没有太多意义的。node 全栈(或 SSR)却有另外一片天地
  • 一个有前途、且实用的业务方向。例如低代码、中台 已经过时了,开源项目也不可持续,都不好。目前看来,AIGC 是一个不错的方向(就在前两天 OpenAI 发布 Sora 智能生成视频,刷爆朋友圈)

我目前也在考虑这方面的事情,有了确定的想法再和大家分享吧。如有建议可以评论或者私信告诉我。

后补:已经想好了,并且正在准备中,详情看 前端转全栈: Next.js + ChatGPT 开发 AIGC 知识库(AI 写作) 欢迎围观~

总结

前端面试减少了基础知识和八股文的考察,更多聊项目经验。我觉得这很好,能筛选出更加专业的候选人,而减少“浑水摸鱼”的人。同时也给了大家更高的要求:做好项目,写好项目。

有其他想法,欢迎评论~