Skip to content

面试题导读

01.谈谈你对 Vue 的理解

02.谈谈你对 spa 的理解

03.vue 为什么需要虚拟 DOM

04.谈一谈对 Vue 组件化的理解

05.既然 Vue 通过数据劫持可以精准探测数据变化,为什么还需要虚拟 DOM 进行 diff 检测差异?

06.请说一下你对响应式数据的理解

07.Vue 中如何检测数组变化

08.Vue 中如何进行依赖收集

09.Vue.set 方法是如何实现的

10.v-if 和 v-show 的优先级

  • v-if 是“真实的”按条件渲染,因为它确保了在切换时,条件区块内的事件监听器和子组件都会被销毁与重建。
  • v-if 也是惰性的:如果在初次渲染时条件值为 false,则不会做任何事。条件区块只有当条件首次变为 true 时才被渲染。
  • 相比之下,v-show 简单许多,元素无论初始条件如何,始终会被渲染,只有 CSS display 属性会被切换。
  • 总的来说,v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。因此,如果需要频繁切换,则使用 v-show 较好;
  • 如果在运行时绑定条件很少改变,则 v-if 会更合适

https://cn.vuejs.org/guide/essentials/conditional

11.watch & computed

12.解释 ref 和 reactive 区别

13.watch 和 watchEffect 的区别

  • watch 和 watchEffect 都能响应式地执行有副作用的回调。它们之间的主要区别是追踪响应式依赖的方式:

  • watch 只追踪明确侦听的数据源。它不会追踪任何在回调中访问到的东西。另外,仅在数据源确实改变时才会触发回调。watch 会避免在发生副作用时追踪依赖,因此,我们能更加精确地控制回调函数的触发时机。

  • watchEffect,则会在副作用发生期间追踪依赖。它会在同步执行过程中,自动追踪所有能访问到的响应式属性。这更方便,而且代码往往更简洁,但有时其响应性依赖关系会不那么明确。

https://cn.vuejs.org/guide/essentials/watchers.html

14.如何将 template 转换 render 函数

15.new Vue()过程中做了些什么

16.Vue.observable 你有了解过吗?

17.v-if 和 v-for 哪个优先级更高

18.生命周期有哪些

19.diff 算法

20.请说明 Vue 中 key 的作用和原理,谈谈你对它的理解

21.Vue.use 是干什么的?

22.Vue.extend 方法的作用?

23.Vue 组件 data 为什么必须是个函数?

  • vue 组件可能会有很多个实例,采用函数返回一个全新 data 形式,使每个实例对象的数据不会受到其他实例对象数据的污染

24.函数组件的优势

25.Vue 中的过滤器了解吗?过滤器的应用场景有哪些?

26.v-once 的使用场景有哪些

27.Vue.mixin 的使用场景和原理

28.Vue 中 slot 是如何实现的?什么时候使用它?

29.说说你对双向绑定的理解,以及它的实现原理吗?

30.Vue 中.sync 修饰符的作用?

31.Vue 中递归组件理解

32.组件中写 name 选项有哪些好处及作用?

33.Vue 常用的修饰符有哪些有什么应用场景?

34.Vue 中异步组件的作用及原理

35.说说你对 nextTick 的理解?

36.keep-alive 平时在哪里使用?

37.自定义指令的应用场景

38.Vue 中使用了哪些设计模式

39.Vue 中的性能优化有哪些?

40.单页应用首屏加载速度慢的怎么解决?

41.Vue 项目中你是如何解决跨域的呢?

42.Vue 项目中有封装过 axios 吗?主要是封装哪方面的?

43.vue 要做权限管理该怎么做?如果控制到按钮级别的权限怎么做?

44.Vue-Router 有几种钩子函数,具体是什么及执行流程是怎样的

45.Vue-Router 几种模式的区别?

46.vue 项目本地开发完成后部署到服务器后报 404 是什么原

47.谈一下你对 vuex 的个人理解

48.如何监听 vuex 中数据的变化

49.页面刷新后 vuex 的数据丢失怎么解决?

50.mutation 和 action 的区别

51.有使用过 vuex 的 module 吗?在什么情况下会使用?fbr

52.Vue3 中 CompositionAPI 的优势是?

53.Vue3 有了解过吗?能说说跟 Vue2 的区别吗?

54.Vue 项目中的错误如何处理的?

55.Vue3 中模板编译优化

56.你知道那些 Vue3 新特性

Released under the MIT License.