前端面试,八股怎么准备?(附速通版)

🎯 写在前面

26届的秋招还在如火如荼地进行,27届的实习也已经拉开序幕。

属鼠作为 211非科班本 + 985硕 的一个小喽啰,组内唯一选择前端赛道的巨弱,从去年6月开始系统地学习前端,今年秋招侥幸拿到了三个中大厂的Offer。

一路走来,经历了许多迷茫,也踩过不少坑。这篇内容是我对过往面经和八股问题的梳理与总结,希望能帮到正在奋斗的前端小伙伴们

一、八股的出没时机与考察方式

我们都知道,前端面试主要考察三驾马车:项目、八股、手撕代码。那八股到底在什么环节出现呢?

核心结论:八股主要集中在 技术一、二面,越往后的轮次,对纯粹八股的考察越弱化,更侧重于结合场景和项目。

以常规的3-4轮技术面试为例:

  • 一面(同事面):八股重灾区。主要考察你的基础知识是否扎实。
  • 二面(+1或Leader面):项目拷打 + 八股延伸。会深入挖项目,并从项目中的技术点延伸考察相关的八股。
  • 三面(交叉/主管面):注重技术广度和综合素质,可能会有场景设计题,纯八股较少。

八股的两种出题方式:

  1. 项目延伸型:在介绍项目时,面试官抓住某个技术点深入提问。
  2. 集中考察型:项目聊完后,面试官会说:“我们来聊聊基础吧”,然后开始模块化提问。

这就要求我们,不仅要对项目涉及的技术栈了如指掌,更要对高频核心八股烂熟于心。

二、前端八股知识全景

如果系统性地准备,我建议将八股分为以下几个模块:

  • 🎨 CSS
  • 在中小厂及注重C端体验的业务中考察较多,面试越初级,考察得越多。
  • 🟨 JS (JavaScript)
  • 重中之重,压舱基石。无论什么面试,JS都是考察的绝对核心。
  • 🌐 浏览器与网络安全
  • 考察频次极高。高频八股相对好背,但面试官更喜欢结合场景和性能优化来考察你的理解深度。
  • 🖼️ 框架 (Vue / React)
  • 通常与你的项目强相关。此外,对比类问题是高频考点(如 Vue2 vs Vue3),涉及到技术选型的思考。
  • 🛠️ 前端工程化
  • 非常硬核的加分项。如果能结合场景和实战经验回答,往往能成为面试的胜负手。
  • 🧬 简历强相关
  • 这部分因人而异,比如你简历上写了“熟悉跨端开发”或“有丰富的性能优化经验”,就必须准备好被深挖。
  • 🤖 AI 相关 (2026新趋势)
  • 你也许会问:前端为什么要问AI?实际上,我秋招几乎每一轮都被问到了AI相关问题(应用、提效、原理等)。强烈建议花点时间准备,这会是你区别于其他候选人的亮点。

三、八股速通路线

八股浩如烟海,全部背诵不现实。我的经验是,先拿下最高频、最核心的20%问题,然后“以战养战”,通过实际面试来查漏补缺,反哺自己的知识库。

切记:背标准答案毫无意义。能够用费曼学习法,把一个知识点清晰地讲给别人听,才算初步掌握。

🎨 CSS

  • 水平 / 垂直 / 水平垂直居中的N种方法
  • CSS选择器及优先级
  • Flex弹性布局的核心属性
  • 盒子模型 (标准 vs IE),BFC 的理解与应用
  • position 定位的几种方式及其区别
  • 响应式布局的实现方式(媒体查询, rem, vw/vh)
  • em 和 rem 的区别

🟨 JS (JavaScript)

  • 事件循环 (Event Loop):能说清宏任务与微任务,并能解决相关场景题的执行顺序。
  • 异步方案:Promise 和 async/await 的作用、区别、核心特性。
  • 原型与继承:原型链的查找机制,new 一个对象时发生了什么。
  • 作用域与闭包:this 的绑定规则,var/let/const 的区别,call/apply/bind 的应用,箭头函数。
  • ES6+ 新特性:Set/Map 相对 Object 的优势,箭头函数,解构赋值等。
  • TypeScript:TS带来的好处,interface 和 type 的区别,泛型的使用。
  • 深浅拷贝:区别及常见的实现方式。
  • 数组常用方法:map, filter, reduce 等的区别和应用。

🌐 浏览器和网络安全

  • 综合大题:从输入URL到页面完整展示,发生了什么?(网络+渲染全链路)
  • 跨域:同源策略是什么?常见的跨域解决方案有哪些?
  • 浏览器缓存:强缓存和协商缓存的区别、触发时机和相关头部字段。
  • 本地存储:cookie, localStorage, SessionStorage 的区别、特性和适用场景。
  • HTTP:常用状态码,GET/POST 区别,常用请求/响应头。
  • HTTPS:加密原理,如何保证安全(对称/非对称加密,数字证书)。
  • 安全攻击:XSS 和 CSRF 的原理、区别及防御手段。
  • HTTP版本:HTTP/1.0, 1.1, 2.0 的主要区别。
  • 登录与鉴权:Token-based 认证的全流程。
  • CDN 加速原理。
  • SSR (服务端渲染) vs CSR (客户端渲染) 的区别和优缺点。

🖼️ 框架 (仅列Vue)

属鼠只对vue比较熟悉,就不误人子弟了

  • 对比类:Vue vs React,Vue2 vs Vue3,Pinia vs Vuex,Webpack vs Vite。
  • 响应式原理:Object.defineProperty vs Proxy 的区别和优劣。
  • 组件通信:props/emit, v-model, provide/inject, EventBus, Pinia/Vuex。
  • 虚拟DOM与Diff:虚拟DOM是什么?key 的作用?Diff算法的核心思想?
  • Tree Shaking 原理。
  • 生命周期:Vue2 和 Vue3 生命周期钩子的区别和使用。
  • nextTick 和 keep-alive 的原理和使用场景。
  • MVVM 模型是什么。

🛠️ 前端工程化

  • 打包构建:Webpack 的核心概念(Entry, Output, Loader, Plugin),打包构建全流程。
  • 打包优化:如何优化Webpack的打包速度和产物体积?(与性能优化强相关)
  • 模块化:CommonJS 和 ESM 的区别,import 的原理。

🏃 性能优化

  • 性能优化的方法论(从网络、构建、代码等层面回答)。
  • 白屏问题的排查思路。
  • 浏览器内存占用过大的排查思路。
  • 性能监控指标(FP, FCP, LCP, TTI)和前端埋点方案。

🤖 AI 相关

  • 你在平时如何使用AI提效?(结合具体场景)
  • 对大模型(LLM)的理解,RAG (检索增强生成) 的基本原理。
  • 如何写一个好的Prompt(提示词)?

简短总结

前端八股的准备,本质上是在构建一套应对面试的个人知识体系。它不应该是零散的死记硬背,而是一个由点到线、由线到面的结构化过程。

核心策略是:

  1. 聚焦高频:首先攻克“速通路线”里最高频、最核心的知识点,确保基础盘不失分。
  2. 实践驱动:将八股知识与你的项目经验相结合,用项目来印证你的理解。
  3. 以战养战:勇敢地去面试,在实战中检验自己的掌握程度,并根据面试官的追问,有针对性地查漏补缺,这比闷头背书效率高得多。

属鼠经验有限,本篇只是个人的心得,并不全面,也难免有错误。全篇手打原创,仅借助AI进行了排版和美化。祝大家都能拿到心仪的offer

#八股##秋招##大厂面试问八股多还是项目多?##前端#
全部评论
有用,很受启发,多更经验贴
1 回复 分享
发布于 10-10 22:31 广东
大佬有没有总结过前端手写代码的一些面试经验~
点赞 回复 分享
发布于 10-11 14:16 香港
Mark
点赞 回复 分享
发布于 10-11 09:56 广东
mark一下
点赞 回复 分享
发布于 10-10 18:55 江西

相关推荐

点赞 评论 收藏
分享
先问一下一面时没回答上来的东西,之后才开始问新的。1. 订单号ID可以用Number类型保存吗?为什么?是否有什么隐患。含糊地回答了几次,面试官说可以确保ID唯一、也不存在类型转换等等问题,就是Number保存唯一ID有什么隐患。没回答上来。2. 继续追问上面的问题,给了提示问Number和Java里的数字类型有什么异同?还是没理解提示的含义,又乱说了一些,面试官说ID排除小数情况等等。想了半天还是没回答上来Number到底有什么问题3. 继续追问,Number对应的是Java里的哪个类型,大脑宕机说了个int,面试官说Number可以是小数,下一题。补充1:上次忘了突然想起来了,问前段有哪些优化,我说防抖节流、图片压缩合并、懒加载预加载、打包工具。补充2:继续追问,这些优化都在哪里生效,怎么生效。补充3:分包为什么能优化,减少的是什么时间?其他的优化哪些就失效了。假设没有电线的传播延迟。有点蒙,忘了怎么回答的,记得分包还生效,因为发送处理接受也有限制,不知道对不对。补充4:如果没了传播延迟,分包优化还有用吗?回答的有用因为还有机器的处理时间,不知道对不对补充5:如果资源全部在本地,这些优化还有用吗?我说内存加载也要时间,分包和懒加载应该还有用,不确定对不对补充6:如果内存无限,哪些优化还有用。不知道,彻底懵了4. 说一下useEffect。比较简单5. 继续追问,useEffect里的return函数是在组件卸载时执行呢?真的吗?确定吗?在想一下?我说有依赖就是每次刷新的时候执行下,没依赖就是组件卸载时执行,不知道回答的对不对。6. 说一下useCallback。比较简单7. useCallack具体什么时候用,说场景,不要说功能。想了半天说和React.Memo一起用,平时从来没用过,不知道说具体场景到底什么意思8. 说一下项目里的jwt,具体什么流程。比较简单9. 说一下自动登录,具体什么流程。比较简单10. 说一下自动登出,具体什么流程,我说设置定时器不断地检测logintoken有没有过时11. 继续追问,面试官说定时器有问题,能不能优化,我说前端的请求都带上logintoken,后端每次请求都检测下,不知道对错。12. 为什么现在登录都是双token,一个token也可以达成相同的效果,说一下一个token的隐患。我不知道,只能说安全问题。13. 项目采用了哪些安全方面的东西。我说jwt权限检测、跨域、salt加密。14. 追问跨域是什么15. 如果跨域没配置,到底是哪里、或什么系统、机制阻挡了通讯?不知道,瞎说了个浏览器识别的。16. 大模型前端返回了一堆markdown,怎么在前端渲染出来?说下大致思路。平时也接触markdown但不知道具体是什么,只能胡说。期间面试官换了各种问法、给了一堆提示,我理解的是markdown就是字符串,直接渲染出来不就行了?肯定是没回答上来。面试官还专门说现在大模型这么火,应该知道的……17. 说些能展示你技术能力的东西,我说用websocket实现了一个聊天系统、还有埋点系统等等。面试官说这些都是demo级别的,还有什么东西没。我说没了18. 代码题:返回一个数组的中间位,它左右两边元素相和是一样,我写了个双指针实现。老师说是leetcode原题,我写的没法通过全部测试。面试结束,反问:我说评价一下,面试官说AI啥都有,自己问AI检查下错误,又建议我不要单纯的抄网上的项目,要把每行代码都搞懂,尤其是各种配置文件里的东西寄。
点赞 评论 收藏
分享
10-10 01:10
已编辑
深圳大学 测试开发
牛客26692713...:项目经历写那么多没啥用吧,挑两个最好的,其实浓缩成一页会比较好吧,背景、实习、项目,要是还有空间就再加个专业技能
投了多少份简历才上岸
点赞 评论 收藏
分享
评论
31
131
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务