堪称全网最详细的前端面试八股文,面试必备(附答案)

面试官翻开你的简历时,已经在心里问出了这三个问题,而大多数人倒在了第二个。

作为面试过近200名前端工程师的技术负责人,我见过太多候选人带着漂亮的简历走进会议室——Vue/React全家桶倒背如流、项目经历写得满满当当、算法题刷了成百上千道。

可当我开始问「为什么选择这个架构方案」「如果让你重新设计这个组件会怎么做」「这个技术决策背后的业务逻辑是什么」 时,超过60% 的候选人都会出现短暂的沉默。

前端面试早已不是「背API就能过」的时代了。今天的面试官想看到的,是框架背后的设计思维、是业务场景下的技术决策逻辑、是代码之外的工程化素养

这篇文章将彻底拆解前端面试中的核心八股文,但不止于标准答案——我会带你还原每一个技术问题背后的真实考察意图,并附上能让面试官眼前一亮的深度解析

全文目录:

1.JavaScript面试题(323题)
2.CSS面试题(61题)
3.HTML面试题(57题)
4.React面试题(83题)
5.Vue面试题(80题)
5.算法面试题(19题)
7.计算机网络(71题)
8.Node.js面试题(27题)
9. TypeScript面试题(46题)
10.性能优化面试题(25题)
11.前端安全面试题(21题)
12.小程序面试题(9题)
13.ES6面试题(32题)
14.编程题(50题)
15.设计模式面试题(7题)
16.工程化面试题(34题)

先贴一下GitHub: https://github.com/encode-studio-fe-coder/natural_traffic/wiki/scan_material3

一、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?

二、CSS(61题)

1. css 中的 animation、transition、 transform 有什么区别?

2.怎么做移动端的样式适配?

3.相邻的两个inline-block节点为什么会出现间隔,该如何解决?

4. grid网格布局是什么?

5.CSS3新增了哪些特性?

6.怎么使用 CSS3 实现动画?

7.怎么理解回流跟重绘?什么场景下会触发?

8.什么是响应式设计?响应式设计的吗?基本原理是什么?如何进行实现?

9.如果使用CSS提高页面性能?

10.如何实现单行/多行文本溢出的省略样式?

三、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)

四、React(83题)

1.下面代码中,点击“+3"按钮后,age 的值是什么?

2.React Portals 有什么用?

3.react 和 react-dom 是什么关系?

4. React 中为什么不直接使用 requestIdleCallback?

5.为什么 react 需要 fiber 架构,而 Vue 却不需要?

6.子组件是一个 Portal,发生点击事件能冒泡到父组件吗?

8.说说React render方法的原理?在什么时候会被触发?

9.说说React事件和原生事件的执行顺序

10.说说对受控组件和非受控组件的理解,以及应用场景?

五、Vue(80题)

1. Vue 有了数据响应式,为何还要 dif ?

2.vue3 为什么不需要时间分片?

3.vue3 为什么要引入 Composition API ?

4.谈谈 Vue 事件机制,并手写$on、$off、$emit、$once

5.computed 计算值为什么还可以依赖另外-个 computed 计算值?

6.说-下 vm.$set 原理

7. 怎么在 Wue 中定义全局方法?

8.Vue 中父组件怎么监听到子组件的生命周期?

10.说说 vue3 中的响应式设计原理

六、算法(19题)

1.最大的钻石

2.举例说明你对尾递归的理解,以及有哪些应用场景

3.去除字符串中出现次数最少的字符,不改变原字符串的顺序。

4.请手写“快速排序”

5.洗牌算法

6.什么是尾调用优化和尾递归?

7.合并K个升序链表

8.什么是时间复杂度?

9.请手写“基数排序”

10.请手写"桶排序"

七、计算机网络(71题)

1.简单描述从输入网址到页面显示的过程

2.说说WebSocket和HTTP的区别

3.说说 https 的握手过程

4.HTTP2中,多路复用的原理是什么?

5.说说你对"三次握手"、“四次挥手”的理解

6.为什么推荐将静态资源放到cdn上?

7.什么是DNS劫持?

8.TLS 1.3 做了哪些改进?

9.TLS1.2 握手的过程是怎样的?

10.HTTP 报文结构是怎样的?

八、Node.js(27题)

1.common.js和es6中模块引入的区别?

2.为什么Node在使用es module时必须加上文件扩展名?

3.浏览器和 Node 中的事件循环有什么区别?

4.Node性能如何进行监控以及优化?

5.如果让你来设计一个分页功能,你会怎么设计?前后端如何交互?

6.如何实现文件上传?说说你的思路

7.如何实现iwt鉴权机制?说说你的思路

8.说说对中间件概念的理解,如何封装 node 中间件?

9.说说 Node 文件査找的优先级以及 Require 方法的文件查找策略?

10.说说对Nodejs中的事件循环机制理解?

九、 TypeScript(46题)

1.说说对 TypeScript 中命名空间与模块的理解?区别?

2.说说你对 typescript 的理解?与 javascript 的区别?

3.Typescript中泛型是什么?

4.TypeScript中有哪些声明变量的方式?

5.什么是Typescript的方法重载?

6.请实现下面的 sleep 方法

7. typescript 中的 is 关键字有什么用?

8.TypeScript支持的访问修饰符有哪些?

9.请实现下面的 myMap 方法

10.请实现下面的 treePath 方法

十、性能优化(25题)

1.script标签放在header里和放在body底部里有什么区别?

2.前端性能优化指标有哪些?怎么进行性能检测?

3.SPA(单页应用)首屏加载速度慢怎么解决?

4.如果使用CSS提高贞面性能?

5.怎么进行站点内的图片性能优化?

6.虚拟DOM一定更快吗?

7.有些框架不用虚拟dom,但是他们的性能也不错是为什么?

8.如果某个页面有几百个函数需要执行,可以怎么优化页面的性能?

9.讲一下png8、png16、png32的区别,并简单讲讲 png 的压缩原理

10.React.memo()和 useMemo()的用法是什么,有哪些区别?

十一、前端安全(21题)

1.说说你对 XSS的了解

2.web常见的攻击方式有哪些,以及如何进行防御?

3.说说你对前端鉴权的理解

4.如何禁止别人调试自己的前端代码?

5.CSP(Content Security Policy)可以解决什么问题?

6.前端怎么实现跨域请求?

7. HTTPS 有哪些优点?

8.webSocket 有哪些安全问题,应该如何应对?

9.什么是点击劫持?如何防范点击劫持?

10.什么是 Samesite Cookie 属性?

十二、小程序(9题)

1.说说微信小程序的架构?

2.为什么小程序里拿不到dom相关的api?

3.小程序的双线程分别做的什么事情?

4.简述微信小程序原理?

5.微信小程序的优劣势?

6.小程序页面间有哪些传递数据的方法?

7.微信小程序bindtap 和 catchtap 区别?

8.小程序 WXSS 与 CSS 的区别?

9.简述一下微信小程序的主要文件有哪些?

十三、ES6(32题)

1.common.js和es6中模块引入的区别?

2.Map 和 Set 的用法以及区别

3.es5 中的类和es6中的cass有什么区别?

4.你是怎么理解ES6中 Decorator 的?使用场景有哪些?

5.你是怎么理解ES6中Module的?使用场景有哪些?

6.你是怎么理解ES6中Proxy的?使用场景有哪些?

7.怎么理解ES6中 Generator的?使用场景有哪些?

8.你是怎么理解ES6中 Promise的?使用场景有哪些?

9.ES6中新增的Set、Map两种数据结构怎么理解?

10.ES6中函数新增了哪些扩展?

十四、编程题(50题)

1.使用Promise实现红绿灯交替重复亮

2.bind、call、apply 有什么区别?如何实现-个bind?

4.说说new操作符具体干了什么?

5.如何实现上拉加载,下拉刷新?

6.大文件怎么实现断点续传?

7.什么是防抖和节流,以及如何编码实现?

8.说说ajax的原理,以及如何实现?

9.深拷贝浅拷贝有什么区别?怎么实现深拷贝?

10.用js实现二叉树的定义和基本操作

十五、设计模式(7题)

1.观察者模式和发布订阅模式分别是什么?有什么区别?

2.开发的过程中你用到过哪些设计模式?

3.设计模式分类

4. 什么是 MVVM? 比之 MVC 有什么区别?什么又是 MVP ?

5.单例模式

6.设计模式的六大原则

7. 工厂模式

十六、前端工程化(34题)

1. package.json 文件中的 devDependencies 和 dependencies 对象有什么区别?

2.webpack 5 的主要升级点有哪些?

3.说下vite的原理

4.与webpack类似的工具还有哪些?区别?

5.说说如何借助webpack来优化前端性能?

6.说说webpack proxy工作原理?为什么能解决跨域?

7.说说webpack的热更新是如何做到的?原理是什么?

8.面试官:说说Loader和Plugin的区别?编写Loader,Plugin的思路?

9.说说webpack中常见的Plugin?解决了什么问题?

10.说说webpack中常见的Loader?解决了什么问题?

注:文中的前端八股文面试汇总PDF已经打包完毕,希望对大家有帮助: https://github.com/encode-studio-fe-coder/natural_traffic/wiki/scan_material3

Read more

FPGA以太网接口设计,纯Verilog实现UDPTCP协议,支持校验和重发功能,适合学习和简单通信

FPGA以太网接口设计,纯Verilog实现UDPTCP协议,支持校验和重发功能,适合学习和简单通信

fpga以太网接口设计,支持udp和tcp协议,纯verilog手写代码,纯逻辑实现udptcp协议,接口类似于axi stream 。 mac层和tcp/ip层模块是分开的,物理接口可根据要求定制,目前的百兆网版本接口为RMII,千兆网版本接口为GMII转RGMII,Gmii和rgmii均下板测试过,tcp模块支持校验和重发功能,可和电脑端进行一对一通信。 可封装为axi接口(axi stream 或 axi lite)。 适合简单基础通信和参考学习,工程基于vivado,已有代码框图如下,其中图三为soc版本,网口为从机,riscv核为主机,通过axi interconnect桥接,也可灵活增加其他从设备。 非soc版本就只有网口的硬件代码,如图四。 可以和网络调试助手和python或c的socket通信。 注:资源消耗将近2000lut(xilinx fpga) 附带四份文档,1为抓包实测的文档说明,2为以太网协议介绍的ppt,3为tcp实现的代码说明,4为报文基本概念 最近在搞一个FPGA的以太网接口设计,支持UDP和TCP协议,纯Verilog手写代码,没有用任何现成的IP

By Ne0inhk
若依(RuoYi)低代码框架全面分析

若依(RuoYi)低代码框架全面分析

文章目录 * 一、框架概述与技术背景 * 技术架构全景 * 二、核心特长分析 * 1. 完备的权限管理体系 * 2. 高度模块化的系统设计 * 3. 强大的代码生成器 * 4. 丰富的功能组件 * 三、显著短板与局限性 * 1. 技术栈相对保守 * 2. 代码生成器的局限性 * 3. 性能瓶颈与扩展性挑战 * 4. 学习曲线与定制成本 * 四、实际应用场景分析 * 适合场景 * 不适用场景 * 五、与其他框架对比 * 六、总结与展望 一、框架概述与技术背景 若依(RuoYi)是基于Spring Boot的权限管理系统,是中国Java低代码领域的代表性开源框架。其名称"若依"取自"若你"的谐音,体现了"

By Ne0inhk
AiOnly大模型深度测评:调用GPT-5 API+RAG知识库,快速构建智能客服机器人

AiOnly大模型深度测评:调用GPT-5 API+RAG知识库,快速构建智能客服机器人

声明:本测试报告系作者基于个人兴趣及使用场景开展的非专业测评,测试过程中所涉及的方法、数据及结论均为个人观点,不代表任何官方立场或行业标准。 引言 AI 技术加速渗透各行各业的今天,你是否也面临这样的困境:想调用 GPT-5、Claude4.5等顶尖模型却被海外注册、跨平台适配搞得焦头烂额?想快速搭建智能客服、内容生成工具,却因模型接口差异、成本不可控而望而却步?或是作为中小团队,既想享受 AI 红利,又受限于技术门槛和预算压力? AiOnly平台的出现,正是为了打破这些壁垒。 本文将从实战角度出发,带你全方位解锁这个「全球顶尖大模型 MaaS 平台」:从 5 分钟完成注册到 API 密钥创建,从单模型调用到融合 RAG 知识库的智能体开发,然后手把手教你在 Windows 环境部署一个日均成本不足 0.5 元的电商客服机器人。无论你是 AI 开发者、企业运营者,还是想低成本尝试 AI

By Ne0inhk
深度解析英伟达最新“瓦力”机器人:物理AI时代的开发者红利与技术突破

深度解析英伟达最新“瓦力”机器人:物理AI时代的开发者红利与技术突破

2026年CES展会上,黄仁勋牵着那款酷似《机器人总动员》“瓦力”的Reachy Mini机器人完成流畅互动时,全场的欢呼不仅是对萌系设计的认可,更是对一个新时代的致敬——英伟达用这套全新机器人系统,正式宣告物理AI从实验室走向产业化。对于咱们ZEEKLOG的开发者而言,这波技术浪潮带来的不只是视觉震撼,更是可落地的开发工具、开源生态和商业机遇。今天就从技术内核、开发价值、行业对比三个维度,深度拆解英伟达最新机器人的核心竞争力,帮大家找准入局切入点。 一、不止“萌出圈”:英伟达新机器人的技术内核拆解 很多人被“瓦力”的外形圈粉,但真正让行业震动的是其背后的全栈技术体系。不同于传统机器人“硬件堆砌+单一功能编程”的模式,英伟达这套系统是“大脑-身体-训练场”的全链路协同,每一个环节都为开发者预留了创新空间。 1. 核心大脑:GR00T N1.6模型的双系统突破 作为全球首个开源人形机器人基础模型,最新的Isaac GR00T N1.6堪称“机器人界的GPT-4o”,其最核心的创新是双系统架构设计,完美复刻了人类“本能反应+深度思考”

By Ne0inhk