先讲讲我的情况,我大专毕业,做前端开发快 5 年了,月月xxxxx,对我来说,这真的很满足。但我不建议大家盲目学前端,下面就给大家分享一下准备前端面试的正确学习顺序🔽。

一、前端基础三件套

1.HTML:理解语义化标签、常用元素属性、表单与表格。

2.CSS:掌握盒模型、定位、浮动、Flexbox、Grid 布局,熟悉响应式设计与常见适配方案。

3.JavaScript:熟练掌握变量、数据类型、函数、作用域、闭包、原型与原型链、异步编程(Promise、async/await)、ES6+ 常用语法。

二、框架与工具

掌握至少一个主流框架(如 
Vue.js / 
React),理解其核心思想(数据驱动、组件化、虚拟 DOM 等)。

1.熟悉配套生态:Vue Router、Vuex / Pinia(或 React Router、Redux / Zustand)。

2.学会使用构建工具:
Webpack 或 
Vite,了解基本配置与优化手段。

3.掌握代码管理工具 
Git,熟悉常用工作流。

三、网络与浏览器

1.熟悉 
HTTP/HTTPS 协议,了解常见状态码、请求方法、缓存机制。

2.掌握浏览器渲染原理、重绘与回流、事件循环机制。

3.学会使用
浏览器开发者工具进行调试与性能分析。

四、性能优化与实践

1.了解常见性能指标(如 FCP、LCP、CLS 等)。

2.掌握资源加载优化、代码分割、懒加载、图片优化等手段。

3.熟悉前端安全常见问题与防范措施(XSS、CSRF 等)。

五、工程化与协作

1.掌握模块化开发(CommonJS、ES Module)。

2.熟悉代码规范工具(ESLint、Prettier)、单元测试框架(Jest、Vitest)。

3.了解 CI/CD 基本流程,能够编写简单部署脚本。

六、综合能力与项目经验

1.能够清晰描述过往项目,突出技术难点、解决方案与个人成长。

2.掌握常见数据结构与算法基础,能够应对手写代码题。

3.具备良好的沟通能力与团队协作意识,理解业务与技术结合的思路。

以我过来人的经验,只要踏实学习、持续积累,你不会后悔的!

JavaScript(323题)

  • 1、不会冒泡的事件有哪些?
  • 2、mouseEnter 和 mouseOver 有什么区别?
  • 3、MessageChannel 是什么,有什么使用场景?
  • 4、async、await 实现原理
  • 5、Proxy 能够监听到对象中的对象的引用吗?
  • 6、如何让 var [a, b]= {a: 1,b:2}解构赋值成功?
  • 7、下面代码会输出什么?
  • 8、描述下列代码的执行结果
  • 9、什么是作用域链?
  • 10、bind、call、apply 有什么区别?如何实现一个bind?
  • 11、common.js和es6中模块引入的区别?
  • 12、说说 vue3 中的响应式设计原理
  • 13、script标签放在header里和放在body底部里有什么区别?
  • 14、下面代码中,点击“+3”按钮后,age 的值是什么?
  • 15、Vue中,created和mounted两个钩子之间调用时间差值受什么影响?

HTML(57题)

  • 1、什么是 DOM 和 BOM?
  • 2、简单描述从输入网址到页面显示的过程
  • 3、一台设备的dpr,是否是可变的?
  • 4、前端该如何选择图片的格式?
  • 5、前端跨页面通信,你知道哪些方法?
  • 6、说说你对 Dom 树的理解
  • 7、行内元素有哪些?块级元素有哪些?空(void)元素有那些?
  • 8、html和css中的图片加载与渲染规则是什么样的?
  • 9、title与h1的区别、b与strong的区别、i与em的区别?
  • 10、script 标签为什么建议放在 body 标签的底部(defer、async)说说你对 SSG 的理解
  • 11、什么是HTML5,以及和HTML的区别是什么?
  • 12、什么是渐进增强和优雅降级?
  • 13、Node 和 Element 是什么关系?
  • 14、导致页面加载白屏时间长的原因有哪些,怎么15、进行优化?
  • 16、如何控制 input 输入框的输入字数?

React(83题)

  • 1、下面代码中,点击“+3”按钮后,age 的值是什么?
  • 2、React Portals 有什么用?
  • 3、react 和 react-dom 是什么关系?
  • 4、为什么 react 需要 fiber 架构,而 Vue 却不需要?
  • 5、子组件是一个 Portal,发生点击事件能冒泡到父组件吗?
  • 6、说说React render方法的原理?在什么时候会被触发?
  • 7、说说React事件和原生事件的执行顺序
  • 8、说说对受控组件和非受控组件的理解,以及应用场景?
  • 9、你在React项目中是如何使用Redux的?项目结构是如何划分的?
  • 10、说说对Redux中间件的理解?常用的中间件有哪些?实现原理?
  • 11、说说你对Redux的理解?其工作原理?
  • 12、说说你对immutable的理解?如何应用在react项目中?

性能优化(25题)

  • 1、script标签放在header里和放在body底部里有什么区别?
  • 2、前端性能优化指标有哪些?怎么进行性能检测?
  • 3、SPA(单页应用)首屏加载速度慢怎么解决?
  • 4、如果使用CSS提高页面性能?
  • 5、怎么进行站点内的图片性能优化?
  • 6、虚拟DOM一定更快吗?
  • 7、有些框架不用虚拟dom,但是他们的性能也不错是为什么?
  • 8、如果某个页面有几百个函数需要执行,可以怎么优化页面的性能?
  • 9、讲一下png8、png16、png32的区别,并简单讲讲 png 的压缩原理
  • 10、页面加载的过程中,J5 文件是不是一定会阻塞 DOM 和 CSSOM 的构建?
  • 11、React.memo()和 useMemo()的用法是什么,有哪些区别?
  • 12、导致页面加载白屏时间长的原因有哪些,怎么进行优化?

Vue(80题)

  • 1、Vue 有了数据响应式,为何还要 diff ?
  • 2、vue3 为什么不需要时间分片?
  • 3、vue3 为什么要引入 Composition API ?
  • 4、computed 计算值为什么还可以依赖另外一个 computed 计算值?
  • 5、说一下 vm.$set 原理
  • 6、怎么在 wue 中定义全局方法?
  • 7、Vue 中父组件怎么监听到子组件的生命周期?
  • 8、vue组件里写的原生addEventListeners监听事件,要手动去销毁吗?为什么?
  • 9、说说 vue3 中的响应式设计原理
  • 10、ue中,created和mounted两个钩子之间调用时间差值受什么影响?
  • 11、vue中,推荐在哪个生命周期发起请求?
  • 12、为什么 react 需要 fiber 架构,而 Vue 却不需要?
  • 13、SPA(单页应用)首屏加载速度慢怎么解决?
  • 14、Vue2.0为什么不能检查数组的变化,该怎么解决?

前端工程化(34题)

  • 1.webpack5 的主要升级点有哪些?
  • 2.说下vite的原理
  • 3.与webpack类似的工具还有哪些?区别?
  • 4.说说如何借助webpack来优化前端性能?
  • 5.说说webpack proxy工作原埋?为什么能解决跨域?
  • 6.说说webpack的热更新是如何做到的?原埋是什么?
  • 7.说说webpack的构建流程?
  • 8.说说你对webpack的理解?解决了什么问题?
  • 9.webpackloader和 plugin 实现原埋
  • 10.如何提高webpack的构建速度?
  • 11.说说 webpack-dev-server的原埋
  • 12.你对 babel 了解吗,能不能说说几个 stage 代表什么意思?
  • 13.webpack的module、bundle、chunk分别指的是什么?
  • 14.说说你对前端工程化的理解
  • 15.说说你对 SSG 的理解
  • 16.聊聊 vite 和webpack 的区别
  • 17.如何提高webpack的打包速度
  • 18.如何用webpack来优化前端性能
  • 19.webpack的Loader和Plugin的不同

TypeScript(46题)

  • 1. TypeScript中的 Declare 关键字有什么用?
  • 2.解释-下TypeScript中的枚举。
  • 3.TypeScript 的主要特点是什么?
  • 4.TypeScript中的方法重写是什么?
  • 5.什么是TypeScript映射文件?
  • 6.TypeScript中的类型有哪些?
  • 7.如何检查TypeScript中的null和undefined ?
  • 8.如何在TypeScript中实现继承?
  • 9.什么是TypeScript Declare关键字?
  • 10.TypeScript和]avaScript 的区别是什么?
  • 11.Typescript中什么是类类型接口?
  • 12.Typescript中never 和 void 的区别?
  • 13.[ypescript中 interface 和 type 的差别是什么?
  • 14.TypeScript中的变量以及如何声明?
  • 15.Typescript 中的类是什么?你如何定义它们?
  • 16.Typescript中什么是装饰器,它们可以应用于什么?
  • 17.解释如何使用 TypeScript mixin。
  • 18.TypeScript 中的类型断言是什么?
  • 19.TypeScript 中的模块是什么?


计算机网络 (71题)

  • 1.简单描述从输入网址到页面显示的过程
  • 2.说说WebSocket和HTTP的区别
  • 3.说说 https 的握手过程
  • 4.HTTP2中,多路复用的原理是什么?
  • 5.说说你对“三次握手"、“四次挥手”的理解
  • 6.为什么推荐将静态资源放到cdn上?
  • 7.什么是DNS劫持?
  • 8.HTTP 报文结构是怎样的?
  • 9. HTTPS 为什么是安全的?
  • 10.Axios的原理是什么?
  • 11.说说对 HTTP3 的了解
  • 12.跨域时怎么处理 cookie?
  • 13.POST请求的 Content-Type 常见的有哪几种?
  • 14.Blob,ArrayBuffer,Base64分别有哪些使用场景?
  • 15.Blob, ArrayBuffer, Base64 有什么区别?
  • 16.TCP 和 UDP的区别是什么?
  • 17.Http 3.0 是基于 udp 的,那么它是如何保证传输可靠性的?
  • 18.说下 websocket 的连接原理
  • 19.https是如何保证安全的,又是如何保证不被中间人攻击的?

Node.JS(27题)

  • 1.为什么Node在使用es module时必须加上文件扩展名?
  • 2.浏览器和 Node 中的事件循环有什么区别?
  • 3.Node性能如何进行监控以及优化?
  • 4.如何实现文件上传?说说你的思路
  • 5.如何实现jwt鉴权机制?说说你的思路
  • 6.说说对中间件概念的理解,如何封装node 中间件?
  • 7.说说对Nodejs中的事件循环机制理解?
  • 8.说说Node中的EventEmitter?如何实现-个EventEmitter?
  • 9.说说对 Node 中的 Stream 的理解?应用场景?
  • 10.说说对 Node 中的 Buffer 的理解?应用场景?
  • 11.说说对 Node 中的 fs模块的理解?有哪些常用方法
  • 12.说说对 Node 中的 process 的理解?有哪些常用方法?
  • 13.Node.is 有哪些全局对象?
  • 14.说说你对Node.js
     的理解?优缺点?应用场景?
  • 15.body-parser 这个中间件是做什么用的?
  • 16.在没有asyncawait 的时候,koa是怎么实现的洋葱模型?
  • 17.koa 框架中,该怎么处理中间件的异常?
  • 18.Node.is 如何调试?
  • 19.两个 Node.is 进程如何通信?

由于篇幅限制,本文只展示了部分内容,完整版《前端面试八股文合集》pdf已打包,希望对大家有所帮助: https://github.com/encode-studio-fe/natural_traffic/wiki/scan_material1
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐