本次面经共 2 轮。每轮单独成文;轮次标题重复时,以“第 N 轮”和稳定的轮次 ID 区分。
轮次导航
- 第 1 轮 · 一面(20 道题)
- 第 1 轮 · 二面(11 道题)
← 第 1 轮 · 返回本次面经 · 已是最后一轮 → 本轮概述: 二面,以实际场景、设计架构出发,考察候选人的综合知识和深度 本轮共 11 道题。答案默认折叠,便于先自行作答。 1. 描述一个你解决的复杂性能优化案例(指标提升与具体手段) 题目要点 按照START法则来讲解 参考答案 结合自身项目经历来说 2. React/Vue框架设计思想对比(如数据绑定、虚拟DOM) 题目要点 React/Vue/设计思想/双向绑定/单向数据流/虚拟DOM/Fiber/Proxy/模板编译 参考答案 一、考察点 是否理解 React 和 Vue 的设计理念与核心架构区别 是否能准确比较两者在数据绑定、组件化、更新机制上的异同 是否理解虚拟 DOM 的实现方式及两者的优化策略 是否能结合实际项目场景,选择合适的框架思路 二、参考答案 1.1 核心设计思想对比 ✅ 一、框架理念对比 维度 Vue React 核心理念 渐进式框架,关注视图层 函数式 + 声明式 UI,构建 UI 的库 学习曲线 简洁、直观、HTML+JS 分离 更偏工程化,需要理解 JSX、Hooks 模板机制 模板语法(HTML-like) + 指令(v-xxx) 使用 JSX 全部由 JS 描述 UI ✅ 二、数据绑定机制 🔹 Vue 使用响应式系统(Vue2 的 Object.defineProperty,Vue3 的 Proxy); 支持 双向绑定(如 v-model); 模板中变量变化会自动更新视图,开发体验友好。 🔹 React 数据是不可变状态(immutable state); 单向数据流(父 → 子); 利用 setState() 或 useState() 触发重新渲染; 更强调“以状态驱动视图”,需要手动绑定与更新。 ✅ 三、虚拟 DOM 实现与 Diff 策略 Vue 自主构建 Virtual DOM(与模板语法结合); Vue2 使用双端比较 diff 算法; Vue3 引入 静态提升 + Block Tree + 最长递增子序列(LIS),减少不必要 patch; 编译优化层更强,template 更容易静态分析。 React 以函数式组件为主,使用 JSX 构建虚拟 DOM; 使用 Fiber 架构重构更新机制,实现异步可中断渲染; 更新优先级调度(如 startTransition)是核心优势之一; Diff 算法基于同层比较 + key 优化,机制稳定。 ✅ 四、组件设计与状态管理 对比项 Vue React 状态管理 Vuex(Vue2) / Pinia(Vue3) Redux / Context API / Zustand 等 生命周期 Options API(Vue2)/ Composition API(Vue3) 类组件生命周期 / 函数组件 Hooks 组件通信 props / emit / provide/inject props / context / props drilling 3. React Hooks闭包陷阱的产生原因? 题目要点 React Hooks/闭包陷阱/useEffect/useRef/setInterval/函数式更新/stale closure ...
← 已是第一轮 · 返回本次面经 · 第 1 轮 → 本轮要点: 一面,更多考察的是八股文的基础知识 本轮共 20 道题。答案默认折叠,便于先自行作答。 1. 什么是 HTML 语义化? 题库原题:什么是 HTML 语义化? 题目要点 先看下什么是HTML: 参考答案 先看下什么是HTML: 超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言。 HTML元素是构建网站的基石。HTML允许嵌入图像与对象,并且可以用于创建交互式表单,它被用来结构化信息——例如标题、段落和列表等等,也可用来在一定程度上描述文档的外观和语义。 那么如何理解 Web 语义化? 通俗的来讲就是从代码上来展示页面的结构,而不是从最终视觉上来展示结构。 单纯的HTML代码是不带任何样式的只是用来标记这一段是标题、这一块是代码、那一个是要强调的内容等等。 但是为什么我们只写HTML在浏览器中不同的标签也是有不同的样式呢? 那是因为各个浏览器都自带的有相应标签的默认样式,为了方便在没有设定样式的情况下友好的展示页面。 良好的语义化代码可以直接从代码上就能看出来那一块到底是要表达什么内容。 为什么要使用语义化标签? 有伙伴会认为,我用DIV+CSS也能做出来一样的效果,虽然单纯看实现效果,两者并没有什么区别。 但是页面不止是给人看的,机器也要看爬虫也要看,网页结构更清晰方便开发维护。 特别是在网络或其他原因页面样式文件丢失的时候,良好语义结构组成的页面,肯定比全是div的页面对用户更友好。 总结下语义化的优点: 标签语义化有助于构架良好的HTML结构,有利于搜索引擎的建立索引、抓取。简单来说。 有利于不同设备的解析(屏幕阅读器,盲人阅读器等) 有利于构建清晰的机构,有利于团队的开发、维护 2. CSS盒模型、Flex布局与Grid布局的区别及适用场景 题目要点 CSS盒模型/box-sizing/Flex布局/Grid布局/一维 vs 二维/布局适用场景/页面结构设计 参考答案 一、考察点 是否掌握 CSS 中盒模型的基本概念及布局行为 Flex 与 Grid 的本质区别及使用场景是否清晰 能否结合实际 UI 场景选择最合适的布局方式 是否理解布局系统与页面结构解耦的设计思想 二、参考答案 1.1 原理说明 ✅ 一、CSS 盒模型(Box Model) 定义:所有 HTML 元素都可以看作一个矩形盒子,由以下四层组成: ...