
├── 02_【源码篇】1.vue的设计概念
├── 03_【源码篇】2.vue3的结构
├── 04_【源码篇】3.通过esbuild打包vue代码
├── 05_【源码篇】4.effect实现
├── 06_【源码篇】5.响应式数据触发更新逻辑
├── …
├── 08_【源码篇】7.自定义调度函数
├── 09_【源码篇】8.计算属性的实现原理
├── 10_【源码篇】9.watch的实现原理
├── …
├── 12_【源码篇】11.ref基本实现
├── 13_【源码篇】12.toRef、toRefs、proxyRefs全部实现
├── …
├── 15_【源码篇】14.effectScope实现原理
├── 16_【源码篇】15.运行时的介绍
├── 17_【源码篇】16.实现runtime-dom
├── 18_【源码篇】17.createVnode
├── 19_【源码篇】18.虚拟节点的渲染
├── 20_【源码篇】19.vue3-初渲染和基本的diff
├── 21_【源码篇】20.diff算法优化
├── 22_【源码篇】21.最长递增子序列实现
├── 23_【源码篇】22.vue3中的全量diff
├── 24_【源码篇】23.处理Text类型和Fragment
├── 25_【源码篇】24.组件的异步更新处理
├── 26_【源码篇】25.组件的属性处理
├── 27_【源码篇】26.整合组件渲染流程
├── 28_【源码篇】27.组件更新
├── 29_【源码篇】28.组件的常用属性
├── 30_【源码篇】29.插槽的实现原理
├── …
├── 33_【源码篇】32.没有key导致的问题
├── 34_【源码篇】33.生命周期的实现
├── 35_【源码篇】34.异步组件的实现原理
├── 36_【源码篇】35.teleport组件
├── 37_【源码篇】36.provide和inject实现原理
├── 38_【源码篇】37.keep-alive实现原理
├── 39_【源码篇】38.收尾
├── 40_【面试篇】00.面试题导读
├── 41_【面试篇】01.谈谈你对Vue的理解
├── 42_【面试篇】02.谈谈你对spa的理解
├── 43_【面试篇】03.vue为什么需要虚拟DOM
├── 44_【面试篇】04.谈一谈对-Vue-组件化的理解
├── …
├── 46_【面试篇】06.请说一下你对响应式数据的理解
├── …
├── 48_【面试篇】08.Vue中如何进行依赖收集
├── 49_【面试篇】09.Vue.set方法是如何实现的
├── …
├── 51_【面试篇】11.watch&computed
├── 52_【面试篇】12.解释ref和reactive区别
├── 53_【面试篇】13.watch和watchEffect的区别
├── 54_【面试篇】14.如何将template转换render函数
├── 55_【面试篇】15.new-Vue()过程中做了些什么
├── …
├── 57_【面试篇】17.v-if和v-for哪个优先级更高
├── 58_【面试篇】18.生命周期有哪些
├── 59_【面试篇】19.Vue-中-diff-算法原理
├── 60_【面试篇】20.请说明-Vue-中-key-的作用和原理,谈谈你对它的理解
├── …
├── 63_【面试篇】23.Vue-组件-data-为什么必须是个函数?
├── …
├── 67_【面试题】27.Vue.mixin-的使用场景和原理
├── 68_【面试篇】28.Vue-中-slot-是如何实现的?什么时候使用它?
├── 69_【面试题】29.说说你对双向绑定的理解,以及它的实现原理吗?
├── …
├── 75_【面试篇】35.说说你对-nextTick-的理解?
├── …
├── 79_【面试篇】39.Vue中的性能优化有哪些?
├── …
├── 83_【面试篇】43.vue要做权限管理该怎么做?如果控制到按钮级别的权限怎么做?
├── …
├── 85_【面试篇】45.Vue-Router-几种模式的区别?
├── …
├── 92_【面试篇】52.Vue3-中-CompositionAPI-的优势是?
├── 93_【面试篇】53.Vue3-有了解过吗?能说说跟-Vue2-的区别吗?
├── …
├── 95_【面试篇】55.Vue3-中模板编译优化
└── 96_【面试篇】56.你知道那些Vue3新特性