MOC-Vue 面试题
基于知识库笔记整理的面试题汇总,按模块分类
响应式原理
| 示例题目 | 关联笔记 |
|---|---|
| Vue3 使用 Proxy 实现响应式 | 响应式原理(Vue3) |
| Vue3 ref 和 reactive 的区别 | 响应式原理(Vue3) |
| Vue3 响应式系统分为 effect 和 reactive 两部分 | 响应式原理(Vue3) |
| 为什么Vue3的响应式系统要使用WeakMap | 响应式原理(Vue3) |
| Vue3 使用 Reflect 保证 Proxy 行为的正确性 | 响应式原理(Vue3) |
模板编译
| 示例题目 | 关联笔记 |
|---|---|
| 模板编译(Vue3) 是什么?编译过程是怎样的? | 模板编译(Vue3) |
| 静态提升 是什么?有什么作用? | 静态提升 |
| 预标记 是什么?如何帮助 diff 优化? | 预标记 |
| Block管理 是什么?Vue3 如何实现精准更新? | Block管理 |
虚拟 DOM 与 Diff
| 示例题目 | 关联笔记 |
|---|---|
| 虚拟DOM(Vue3) 的本质是什么? | 虚拟DOM(Vue3) |
| Vue 的 Diff 算法与 React 有哪些异同? | 虚拟DOM(Vue3) |
| 为什么 data 更新后视图没立即变化? | nextTick 机制 |
组件化
| 示例题目 | 关联笔记 |
|---|---|
| 父子组件如何通信?跨层通信如何处理? | props/emit/provide |
| 在 Vue 组件中,模板是否必须有一个根节点包裹? | Vue 核心思想 |
| 如何实现一个通用布局组件使用插槽? | 插槽机制 |
| computed 和 watch 有什么区别?使用场景? | 计算属性 & 侦听器 |
模板语法 & 指令
| 示例题目 | 关联笔记 |
|---|---|
| v-if 和 v-show 区别? | 条件渲染 |
| v-model 原理是什么? | 双向绑定 |
| watch 和 watchEffect 有什么区别? | Vue3 ref 和 reactive 的区别 |
| 如何监听组件内部的自定义事件?.stop 和.prevent 区别? | 事件机制 |
Composition API
| 示例题目 | 关联笔记 |
|---|---|
| Vue3 ref 和 reactive 的区别 | 响应式原理(Vue3) |
| setup 函数的作用是什么? | Composition API |
| ref 和 reactive 有什么区别?watchEffect 是怎么工作的? | Vue3 ref 和 reactive 的区别 |
Vue Router
| 示例题目 | 关联笔记 |
|---|---|
| Vue Router 有哪些路由模式?区别是什么? | Vue Router |
| 如何在路由跳转前检查权限? | 路由守卫 |
| 路由懒加载如何实现? | 动态路由 |
状态管理
| 示例题目 | 关联笔记 |
|---|---|
| Pinia 的核心概念有哪些? | Pinia |
| VS-Vuex vs Pinia | Pinia |
生命周期
| 示例题目 | 关联笔记 |
|---|---|
| 生命周期(Vue3) 有哪些阶段?各阶段适合做什么? | 生命周期(Vue3) |
| created 和 onMounted 有什么区别? | 生命周期(Vue3) |
| keep-alive 的生命周期是什么? | 生命周期(Vue3) |
Diff算法
| 示例题目 | 关联笔记 |
|---|---|
| Diff算法(Vue3) 的核心原理是什么? | Diff算法(Vue3) |
| Vue 的 Diff 算法与 React 有哪些异同? | Diff算法(Vue3) |
| key 在列表渲染中的作用是什么? | Diff算法(Vue3) |
| Vue2 vs Vue3 Diff算法 有什么区别? | Vue2 vs Vue3 Diff算法 |
性能优化
| 示例题目 | 关联笔记 |
|---|---|
| 如何优化 Vue 应用的性能? | 性能优化 |
| keep-alive 的作用是什么? | 缓存组件 |
| 异步组件如何使用? | 懒加载 |