框架专题
把相关知识和复习方法放在一起,随时回看。
详细阅读顺序:回答要点 → 原理拆解 → 示例与推演 → 易错点 → 参考回答;已有追问继续附完整解答。结合两份飞书资料整理的来源、合并位置和纠错见专题深化与资料整理说明。
整理日期:2026-11-04。共 60 题:Vue2 18 题、Vue3 20 题、React 22 题。每题包含回答要点、完整参考回答,以及已解答的追问。
本文是分层讲解的备考资料,优先级按复习价值安排,不代表面试出现率。结合自己的真实项目回答,涉及实现细节时先说清版本。
使用方式:每题先看“回答要点”抓重点,再读“参考回答”理解完整表达;后面的“追问回答”已直接解释原有追问,不需要另找答案。个人经历按实际情况替换,不把示例当成自己的成果。
按知识点 73 项内容
Vue218
QVue2 响应式原理是什么?Q新增对象属性、数组索引赋值为什么可能不更新?Qcomputed、watch、methods 怎么选?QnextTick 的原理和使用场景是什么?Q生命周期和父子组件执行顺序怎么讲?Q组件的 data 为什么通常是函数?Q组件通信有哪些方式,怎么选?Q为什么不能直接修改 props?编辑表单怎么做?QVue2 的 v-model、.sync、自定义事件有什么关系?Q普通插槽和作用域插槽有什么区别?Qkey 为什么重要,为什么不推荐用 index?Qv-if 和 v-show 怎么选?能和 v-for 一起用吗?Qkeep-alive 缓存什么,怎么刷新和清理?QVue Router 的模式、守卫和路由复用怎么处理?QVuex 的 state、getters、mutations、actions 怎么分工?Qmixin 有什么问题,如何避免复杂度失控?Qscoped 样式是什么,为什么覆盖不到组件内部?Q模板到页面经历什么?Vue2 diff 怎么理解?
Vue320
QProxy 相比 Object.defineProperty 解决什么?Qref 和 reactive 怎么选?为什么需要 .value?Q解构为什么可能丢失响应式?toRef / toRefs 有什么作用?QshallowRef、shallowReactive、markRaw 什么时候用?QVue3 computed 和普通函数有什么区别?Qwatch 和 watchEffect 有什么区别?Qwatcher 怎么清理,flush 配置有什么用?QComposition API 相比 Options API 解决什么?Qsetup、script setup 和编译宏是什么关系?QVue3 组件 v-model 与 Vue2 有何变化?Qprops、emits、attrs、插槽如何设计组件接口?Q生命周期、模板 ref 与 nextTick 怎么配合?Qprovide / inject 可以代替状态管理吗?QTeleport、KeepAlive 分别解决什么?Q异步组件、Suspense、错误状态怎么配合?QPinia 和 Vuex 有何差异?QVue3 路由守卫、参数与异步请求怎么协调?QVue3 渲染性能优化有哪些?Q怎么封装一个可靠的 composable?QVue2 升级 Vue3 怎么规划?
React22
QReact 的 render 和 commit 有什么区别?Q为什么 setState 后读到的还是旧值?Q连续调用三次 setCount,为什么有时只加一?Q为什么不能直接修改 state 对象或数组?QHooks 为什么通常不能放进条件或循环?Q什么是闭包旧值,怎么解决?QuseEffect 应该用来做什么?QEffect 依赖和清理函数什么时候执行?QStrictMode 下为什么看到多次渲染或重复请求?QuseEffect 与 useLayoutEffect 有什么区别?QuseRef 和 useState 有什么区别?Qmemo、useMemo、useCallback 分别缓存什么?Q受控和非受控表单怎么选?Qprops、Context、useReducer、外部 store 怎么选?Q自定义 Hook 复用的是逻辑还是状态?Qkey 怎样影响状态保留和重置?QReact 事件处理与原生事件有什么不同?QError Boundary 能捕获哪些错误?QuseTransition、useDeferredValue 解决什么?Qlazy、Suspense 与数据请求是什么关系?QFiber、协调和并发渲染怎么理解?QSSR、Hydration、Server Components、React 19 新能力怎么区分?
项目与场景8
Q请求乱序怎么在 Vue / React 中处理Q编辑弹窗如何避免残留数据Q排序后输入内容为什么串到别行Q离开页面后还在请求怎么办Q大表格卡顿怎么排查Q多组件共享状态互相覆盖Q父组件拿不到子组件方法QSSR 报错或内容跳变怎么处理