放肆青春的博客
首页
前端
算法
网络
面试
技术
后端
运维
杂项
数据库
工具
网址
电脑
个人
文章
  • 分类
  • 标签
  • 归档
github (opens new window)
gitee (opens new window)

放肆青春

一个前端菜鸟的技术成长之路
首页
前端
算法
网络
面试
技术
后端
运维
杂项
数据库
工具
网址
电脑
个人
文章
  • 分类
  • 标签
  • 归档
github (opens new window)
gitee (opens new window)
  • 面试网址

    • 面试题前端网址博客
    • 面试题后端网址博客
  • 面试

    • 面试准备及技巧
    • 面试问题集锦
    • 简历

      • 简历技巧
      • 别人简历
  • 面试杂章

    • git 面试题
    • 智力题
  • 前端

    • front

      • front面试题汇总
      • 前端场景题/解决方案
      • 前端高级面试题
      • front面试题及答案
      • 前端开放性面试题
      • 前端笔试题
      • 小程序面试题
      • webpack面试题
      • webpack面试题及答案
      • gulp面试题
    • vue

      • vue面试题汇总
        • vue 基础面试题
          • vue 生命周期
          • vue 组件通信
          • vue 插槽
          • vue 指令
          • vue 项目相关
        • vue 高级面试题(追问)
          • vue 优化
          • vue 双向绑定原理
          • vue 模板编译过程
          • vue watch 的原理
          • vue computed 的原理
          • vue key 的作用及原理
          • diff 算法原理
          • 虚拟 dom 原理及优缺点
          • nextTick 原理及使用场景
          • keep-alive 原理
      • vue面试题及答案
      • vue-router面试题
      • vuex面试题
      • vue3面试题
    • js

      • js面试题汇总
      • js面试题及答案
      • js手写面试题
      • typescript
      • jquery
    • css

      • css面试题汇总
      • css面试题及答案
      • less_sass
    • html

      • html面试题汇总
      • html面试题及答案
    • node

      • node面试题汇总
      • node面试题及答案
      • express
      • egg
      • koa
    • react

      • react
      • react 面试题及答案
    • angular

      • angular
      • angular面试题及答案
  • 网络

    • http

      • 网络面试题
      • 网络面试及答案
  • 算法

    • 算法

      • 算法面试题
  • 数据库

    • 数据库面试题
  • 后端

    • zookeeper
    • nginx
  • 测试

  • interview
放肆青春
2020-07-09

vue面试题汇总

# vue 基础面试题

  • vue data 为什么要 return,为什么 Vue 的 data 要返回对象?不返回有啥问题?

  • 如何实现 vue 组件的异步加载?

  • Proxy 与 Object.defineProperty 优劣对比

  • 谈谈 vue 和 react 的区别和优劣,Vue 和 React 的 Diff 算法有哪些区别,react 和 vue 更新机制的区别

  • jQuery 和 vue 的区别

  • vue 组件什么时候销毁

  • vue 的 props 和 slot 的使用,区别

  • vue 不能检测数组或对象变动问题的解决方法有哪些?

  • 列举 vue 中触发视图更新的方法

  • 你觉得什么样的项目比较适合用 vue 框架?

  • vue 中用过哪些修饰器?【举例】

  • SSR 解决了什么问题?有做过 SSR 吗?你是怎么做的?

  • 你对 SPA 单页面的理解,它的优缺点分别是什么?如何实现 SPA 应用呢

  • SPA 和 MPA 分别适合在什么场景下开发

  • v-on 可以监听多个方法吗?

  • 怎么理解 vue 单向数据流的

  • $attrs和$listener 有了解吗

  • $set和$forceupdate 都做了哪些事

  • vue scoped 是怎么实现的,dom 上的哈希是如何和 style 中的哈希对应起来的,又是如何保证每次生成的哈希不变的

  • 如果 template 语言换掉的话,会如何处理。

  • vue 是如何保证父组件重新渲染不导致子级重新渲染的

  • Vue 从修改属性到渲染到页面上都经历了什么

  • VUE 脚手架内部的编译过程

  • vue 的 hook 的使用

  • props 怎么自定义验证

  • 如果 Vue2 没有实现 VirtualDOM,可以做到服务端渲染吗

  • function component 里面怎么进行状态共享?

  • vue 从 data 改变到页面渲染的过程

  • Vue 在什么时候执行更新

  • vue 的挂载怎么实现的 el 和 $mount有啥区别

  • 对 vue 中 data 进行更新会发生什么(生命周期进行更新、渲染)

  • 在.vue 文件中 style 是必须的吗?那 script 是必须的吗?为什么?

  • ref 和$ref 的作用

  • vue 中怎么重置 data?

  • 为什么 vue 是渐进式的

  • Vue MVVM 实现思路

# vue 生命周期

  • vue 生命周期,页面第一次加载会触发哪些 Vue 的生命周期

  • 什么时候用到 bedforeDestory?

  • 在 beforeCreated 中发出请求合适吗?会出现什么问题?

mounted 拿到数据可以后可以直接获取 dom 吗

vue 挂载和卸载父子组件生命周期钩子执行顺序

# vue 组件通信

  • vue 组件通信的方式,说说他们的原理

  • eventBus 介绍,使用业务场景,和 vuex 对比,优缺点,vue 中 eventbus 缺陷

手写 emit 传值给父组件的关键实现代码

兄弟组件通信你会考虑用哪些方法

  • provide 和 inject 是响应式的吗?(数据并不是响应式)

provide 和 inject 怎么变成响应式

# vue 插槽

vue 插槽 slot 如何用(封装组件多个插槽如何使用)

  • 说说你对 slot 的理解?slot 使用场景有哪些?

# vue 指令

  • v-text 与{{}}与 v-html 区别

  • vue 自定义指令用过么,有哪些应用场景

  • 说出至少 4 种 vue 当中的指令和它的用法?

  • v-for 与 v-if 的优先级,为什么 v-if 和 v-for 不能连用

  • template 是否能用 v-show?

vue 中用 for 循环渲染组件,可以事件委托吗

# vue 项目相关

  • 怎么编写一个 vue 插件、Vue.use 函数里面具体做了哪些事

  • 你是怎么处理 vue 项目中的错误的?

  • 请说出 vue.cli 项目中 src 目录每个文件夹和文件的用法?

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

  • 说下你的 vue 项目的目录结构,如果是大型项目你该怎么划分结构和划分组件呢?

  • 说说你使用 Vue 框架踩过最大的坑是什么?怎么解决的?

vue 项目中如何约束 rxjs 数据的类型

  • 怎么给 vue 定义全局的方法?

  • 从 0 到 1 自己构架一个 vue 项目,说说有哪些步骤、哪些重要插件、目录结构你会怎么组织

  • vue 打包后的 js 文大概有哪些,这些文件包含的内容大概是什么

有一个很大的 object 需要父组件传递给子组件,怎样可以不对其进行监听

# vue 高级面试题(追问)

  • Vue 实例挂载的过程

  • Vue 源码的整个实现过程。

  • 说说 Vue 的依赖收集过程吧,当数据发生变化后,依赖会重新收集吗?

  • Vue2 源码中大量节点更新时的策略

  • Vue 的数据为什么频繁变化但只会更新一次

  • Vue 的 Mixin,created 和 data 中的值合并策略

  • keep-alive 的原理是什么,如果不用它的话怎么自己实现类似的效果

  • Vue 的 filter 原理有了解吗,如果需要你实现一个 filter,可以实现把一个字符串首字母大写的功能,你要如何做

vue-lazyloader 的原理

Vue 虚拟化列表的实现原理

# vue 优化

  • Vue 使用过哪些优化手段?

  • vue 首屏加载优化

# vue 双向绑定原理

vue 响应式是如何实现的,vue2 中的响应式有什么问题和不足点;为什么数组下标复制和对象新增属性不会被拦截到。为什么 vue3 中换 proxy 实现了。

v-model 的实现原理,data 中不定义相关字段,直接使用 v-model 可以吗?

vue 数据拦截是怎么实现的?vue2 和 vue3 数据拦截的区别?为什么 proxy 不能向下兼容?

为什么数组不能直接更改下标更新?

Vue2 的数据响应式有两个缺陷,你知道是哪两个缺陷么,为什么会有这样的缺陷,如何解决

Vue 如何实现的数组的监听,为什么 Vue 没有对数组下标修改做劫持

Watcher 的 cleanDeps 是做什么的

如果 data 里有一个对象,不希望它被深层监听,需要怎么做

如果一个变量不在页面上出现过(或者使用过),响应式系统是怎么应对的

父子组件如何分开收集依赖,或者说父子组件如何确保父组件只收集自己的依赖,子组件只收集自己的依赖

在 Watcher 内再 new 一个 Watcher 后,如何保证依赖收集不会出错

watcher 怎么去重

# vue 模板编译过程

Vue 如何将 template 转换为 render 函数?

又是如何识别出标签对应的组件?

组件层级之间的创建顺序是怎样的?渲染顺序又是怎样的?

Vue 调用 render 函数的时机是在什么时机被触发的,后续状态变更导致 render 又是谁触发的

写过 render 函数么,跟 template 有啥区别

Vue Template 生成的 render 函数里面都有什么内容

转换一个.vue 文件有哪些步骤

# vue watch 的原理

watch 的 immediate 为 true 时在生命周期哪一步执行,有无 deep 区别

  • watch 与 computed 应用场景,区别,怎么实现的数组 watch

watch 能监听 computed 的属性吗

Watch 进去就触发的?如何做到?

watcher 怎么去重-异步更新队列

# vue computed 的原理

为什么避免在 computed 里面进行修改数据的操作?(答出懒求值应该就可以,实际是特殊 watcher)

computed 计算值为什么还可以依赖另外一个 computed 计算值

computed 如何实现传参?computed 如何赋值

  • 父子组件的 created()和 computed()的执行先后顺序,为什么

# vue key 的作用及原理

在 v-for 时写了 key ,将第二个元素和第三个元素交换了顺序,实际的 diff 算法怎样的

为什么不建议用 index 做 key,为什么不建议用随机数做 key

# diff 算法原理

介绍一下 diff 算法,diff 的使用场景

diff 算法具体怎么对比的

patch 的实现原理是怎么样的?

DIFF 算法为什么是 O(n)复杂度而不是 O(n^3) ,

# 虚拟 dom 原理及优缺点

问:为什么要用 Virtul Dom,简述虚拟 dom 实现原理

追问:Virtual Dom 的效率一定比直接操作 Dom 高吗

追问:你说 Virtual Dom 减少不必要的 Dom 操作,让你来设计如何实现这个效果

追问:Vue 的虚拟 DOM 具体实现流程,有没有看过源码,怎么判断两个虚拟 DOM 是否相等?

说说虚拟 DOM 转化为真实 DOM 的过程

Vue 虚拟 DOM 渲染在哪个生命周期

# nextTick 原理及使用场景

为什么可以在 dom 更新后执行

异步更新 DOM 这个操作,Vue 和 React 都是如何实现的,Vue 的异步处理还有其他方式可以做么,除了 MessageChannel 还有其他和他用法类似的 API 么

Vue 使用 nextTick 的原因和作用,项目哪些场景用到了 nextTick

为什么 nexttick 可以保证 dom 更新

# keep-alive 原理

keep-alive 的原理,使用有什么问题?如何解决?

更新时间: 2/19/2022, 4:10:36 PM
gulp面试题
vue面试题及答案

← gulp面试题 vue面试题及答案→

最近更新
01
前端权限管理
02-24
02
vue2指令
02-24
03
vue2 hook
02-24
更多文章>
Theme by Vdoing | Copyright © 2019-2022 放肆青春
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式