V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
haizlin
V2EX  ›  Vue.js

vue 248+个知识点(面试题)为你保驾护航

  •  
  •   haizlin · 2019-07-30 14:40:38 +08:00 · 790 次点击
    这是一个创建于 1723 天前的主题,其中的信息可能已经有所发展或是发生改变。

    要招一个会 vue 的开发者:

    • 作为面试官的你,你还会每次都只是问这些老土的问题吗?

      • 你对 MVVM 的理解是什么?
      • 你知道什么是双向绑定吗?你了解它的原理吗?
      • 说说 vue 的生命周期有哪些?
      • 组件通讯有哪些?
      • 你用过 vuex 吗?
      • ...
    • 作为面试者的你,在网上搜索下“ vue 面试题及答案”,看完后你是不是觉得:

      • 自己掌握了武林秘籍?
      • 能忽悠住面试官了?
      • 我熟练掌握 vue 了?

    记一次印象深刻的面试

    面试过很多小伙伴(要招会 vue 的开发者),没工作经验的,5 年工作经验的,甚至 10 多年工作经验的...让我印象最深,也觉得最为经典的一个面试:

    • 有一天,来了一位 5 年前端工作经验的小伙子,在很多项目中使用过 vue 的面试者,故事就从这里开始了:

    • (开篇省略 N 多对话……)

    • :看你简历上说你在项目中有用到过 vue 对吗?

    • 小伙子:有啊,我们项目中就有用到过……

    • :你认为你对 vue 的理解到什么程度?(对自我的认知)

    • 小伙子:做过很多项目,基本上都了解了,很熟练

    • :不错,那我问下你 “ vue 为什么要求组件模板只能有一个根元素?”

    • 小伙子:恩……没在意过

    • :没关系,那 “你了解 vue 的 diff 算法吗?”

    • 小伙子:恩……没用到过

    • :没事,那我再问下你,“在.vue 文件中 style 是必须的吗?那 script 是必须的吗?为什么?”

    • 小伙子:恩……(此时小伙子有点着急了,说)

    • 小伙子:你为何 不按套路提问 呢?你应该这样问我:MVVM 是什么,生命周期有哪些,双向绑定的原理啊,我对这些比较熟悉。

    • :此时的我,被反问给愣住了(难道是我错了吗?我是农村来的不懂套路,还好我经历过风风雨雨,假装镇定下)。

    • :这样啊,你给我说下,生命周期的原理是什么?

    • 小伙子:……

    • :要你自己实现一个双向绑定的微型框架你该怎么做呢?

    • 小伙子:……

    • (继续省略 N 多对话……)

    • 小伙子走前,跟我说了句:哥,我以后不敢再说我会 vue 了,回去我要再好好学习 vue ……

    • 后话:估计小伙子出门后,肯定会千万个吐槽:面试造火箭工作拧螺丝

    30 多位小伙伴倾力贡献

    • 看到网上 vue 相关的题量都非常少,完全不能满足大家对知识的渴望。所以我联系了 30 多位真正使用过 vue,从各个方面筛选出了 220 个 vue 相关的知识点,全方面为你保驾护航!这些知识点还会持续更新……
    • 目前 vue 相关的知识点收录量为全网(全球)第一
    • 收录在了《前端面试每日 3+1 》vue 面试题

    还有疑问?

    • 问:这些题有答案吗?
    • 答:有,在你脑中!授人以鱼不如授人以渔(只有自己动手去做,去思考才会变成你的答案,理解背后的原理才能做到游刃有余,不要去背,分分钟露馅!)
    • 问:知识点会过期吗?
    • 答:会,但没这么快,活到老学到老,框架经常更新,知识点就会持续更新
    • 问:这么多知识点我该怎么学?
    • 答:先挑些你会的,找点成就感,然后再查漏补缺,坚持每天学习

    有更好的建议吗?

    • 勤思考
    • 多动手
    • 善总结

    对了打个广告

    • 《前端面试每日 3+1 》,学习不打烊,充电加油只为遇到更好的自己,365 天无节假日,每天早上 5 点纯手工发布面试题(死磕自己,愉悦大家)。
    • 希望大家在这浮夸的前端圈里,保持冷静,坚持每天花 20 分钟来学习与思考。
    • 在这千变万化,类库层出不穷的前端,建议大家不要等到找工作时,才狂刷题,提倡每日学习!(不忘初心,html、css、javascript 才是基石!)

    超多题预警开始……

    ps:由于平台字数的限制,最后有小部分题已经省略,需要到 github 上面查看


    题目最后更新时间:2019.06.26

    vue | vue-cli | vue-router | vuex | ElementUI | ElementUI | mint-ui

    如果你觉得这些题太 easy 了,可以到 github 上联系作者贡献你觉得好玩、有趣、有挑战性的题让大家来挑战吧。

    vue

    • vue 渲染模板时怎么保留模板中的 HTML 注释呢? [我来挑战]
    • Vue.observable 你有了解过吗?说说看 [我来挑战]
    • 你知道 style 加 scoped 属性的用途和原理吗? [我来挑战]
    • 你期待 vue3.0 有什么功能或者改进的地方? [我来挑战]
    • vue 边界情况有哪些? [我来挑战]
    • 如何在子组件中访问父组件的实例? [我来挑战]
    • watch 的属性用箭头函数定义结果会怎么样? [我来挑战]
    • 在 vue 项目中如果 methods 的方法用箭头函数定义结果会怎么样? [我来挑战]
    • 在 vue 项目中如何配置 favicon ? [我来挑战]
    • 你有使用过 babel-polyfill 模块吗?主要是用来做什么的? [我来挑战]
    • 说说你对 vue 的错误处理的了解? [我来挑战]
    • 在 vue 事件中传入$event,使用 e.target 和 e.currentTarget 有什么区别? [我来挑战]
    • 在.vue 文件中 style 是必须的吗?那 script 是必须的吗?为什么? [我来挑战]
    • vue 怎么实现强制刷新组件? [我来挑战]
    • vue 自定义事件中父组件怎么接收子组件的多个参数? [我来挑战]
    • 实际工作中,你总结的 vue 最佳实践有哪些? [我来挑战]
    • vue 给组件绑定自定义事件无效怎么解决? [我来挑战]
    • vue 的属性名称与 method 的方法名称一样时会发生什么问题? [我来挑战]
    • vue 变量名如果以_、$开头的属性会发生什么问题?怎么访问到它们的值? [我来挑战]
    • vue 使用 v-for 遍历对象时,是按什么顺序遍历的?如何保证顺序? [我来挑战]
    • vue 如果想扩展某个现有的组件时,怎么做呢? [我来挑战]
    • 说下$attrs$listeners的使用场景 [我来挑战]
    • 分析下 vue 项目本地开发完成后部署到服务器后报 404 是什么原因呢? [我来挑战]
    • v-once 的使用场景有哪些? [我来挑战]
    • 说说你对 vue 的表单修饰符.lazy 的理解 [我来挑战]
    • vue 为什么要求组件模板只能有一个根元素? [我来挑战]
    • EventBus 注册在全局上时,路由切换时会重复触发事件,如何解决呢? [我来挑战]
    • 怎么修改 vue 打包后生成文件路径? [我来挑战]
    • 你有使用做过 vue 与原生 app 交互吗?说说 vue 与 ap 交互的方法 [我来挑战]
    • 使用 vue 写一个 tab 切换 [我来挑战]
    • vue 中什么是递归组件?举个例子说明下? [我来挑战]
    • 怎么访问到子组件的实例或者子元素? [我来挑战]
    • 在子组件中怎么访问到父组件的实例? [我来挑战]
    • 在组件中怎么访问到根实例? [我来挑战]
    • 说说你对 Object.defineProperty 的理解 [我来挑战]
    • vue 组件里写的原生 addEventListeners 监听事件,要手动去销毁吗?为什么? [我来挑战]
    • vue 组件里的定时器要怎么销毁? [我来挑战]
    • vue 组件会在什么时候下被销毁? [我来挑战]
    • 使用 vue 渲染大量数据时应该怎么优化?说下你的思路! [我来挑战]
    • 在 vue 中使用 this 应该注意哪些问题? [我来挑战]
    • 你有使用过 JSX 吗?说说你对 JSX 的理解 [我来挑战]
    • 说说组件的命名规范 [我来挑战]
    • 怎么配置使 vue2.0+支持 TypeScript 写法? [我来挑战]
    • <template></template>有什么用? [我来挑战]
    • vue 的 is 这个特性你有用过吗?主要用在哪些方面? [我来挑战]
    • vue 的:class 和:style 有几种表示方式? [我来挑战]
    • 你了解什么是函数式组件吗? [我来挑战]
    • vue 怎么改变插入模板的分隔符? [我来挑战]
    • 组件中写 name 选项有什么作用? [我来挑战]
    • 说说你对 provide 和 inject 的理解 [我来挑战]
    • 开发过程中有使用过 devtools 吗? [我来挑战]
    • 说说你对 slot 的理解有多少? slot 使用场景有哪些? [我来挑战]
    • 你有使用过动态组件吗?说说你对它的理解 [我来挑战]
    • prop 验证的 type 类型有哪几种? [我来挑战]
    • prop 是怎么做验证的?可以设置默认值吗? [我来挑战]
    • 怎么缓存当前打开的路由组件,缓存后想更新当前组件怎么办呢? [我来挑战]
    • 说说你对 vue 组件的设计原则的理解 [我来挑战]
    • 你了解 vue 的 diff 算法吗? [我来挑战]
    • vue 如何优化首页的加载速度? [我来挑战]
    • vue 打包成最终的文件有哪些? [我来挑战]
    • ajax、fetch、axios 这三都有什么区别? [我来挑战]
    • vue 能监听到数组变化的方法有哪些?为什么这些方法能监听到呢? [我来挑战]
    • vue 中是如何使用 event 对象的? [我来挑战]
    • vue 首页白屏是什么问题引起的?如何解决呢? [我来挑战]
    • 说说你对单向数据流和双向数据流的理解 [我来挑战]
    • 移动端 ui 你用的是哪个 ui 库?有遇到过什么问题吗? [我来挑战]
    • 你知道 nextTick 的原理吗? [我来挑战]
    • 说说你对 v-clock 和 v-pre 指令的理解 [我来挑战]
    • 写出你知道的表单修饰符和事件修饰符 [我来挑战]
    • 说说你对 proxy 的理解 [我来挑战]
    • 你有自己用 vue 写过 UI 组件库吗? [我来挑战]
    • 用 vue 怎么实现一个换肤的功能? [我来挑战]
    • 有在 vue 中使用过 echarts 吗?踩过哪些坑?如何解决的? [我来挑战]
    • 如果让你教一个 2-3 年经验前端经验的同事使用 vue,你该怎么教? [我来挑战]
    • vue 性能的优化的方法有哪些? [我来挑战]
    • SSR 解决了什么问题?有做过 SSR 吗?你是怎么做的? [我来挑战]
    • 说说你觉得认为的 vue 开发规范有哪些? [我来挑战]
    • vue 部署上线前需要做哪些准备工作? [我来挑战]
    • vue 过渡动画实现的方式有哪些? [我来挑战]
    • vue 在 created 和 mounted 这两个生命周期中请求数据有什么区别呢? [我来挑战]
    • vue 父子组件双向绑定的方法有哪些? [我来挑战]
    • vue 怎么获取 DOM 节点? [我来挑战]
    • vue 项目有做过单元测试吗? [我来挑战]
    • vue 项目有使用过 npm run build --report 吗? [我来挑战]
    • 如何解决 vue 打包 vendor 过大的问题? [我来挑战]
    • webpack 打包 vue 速度太慢怎么办? [我来挑战]
    • vue 在开发过程中要同时跟 N 个不同的后端人员联调接口(请求的 url 不一样)时你该怎么办? [我来挑战]
    • vue 要做权限管理该怎么做?如果控制到按钮级别的权限怎么做? [我来挑战]
    • 说下你的 vue 项目的目录结构,如果是大型项目你该怎么划分结构和划分组件呢? [我来挑战]
    • 在移动端使用 vue,你觉得最佳实践有哪些? [我来挑战]
    • 你们项目为什么会选 vue 而不选择其它的框架呢? [我来挑战]
    • 对于即将到来的 vue3.0 特性你有什么了解的吗? [我来挑战]
    • vue 开发过程中你有使用什么辅助工具吗? [我来挑战]
    • vue 和微信小程序写法上有什么区别? [我来挑战]
    • 怎么缓存当前的组件?缓存后怎么更新? [我来挑战]
    • 你了解什么是高阶组件吗?可否举个例子说明下? [我来挑战]
    • 为什么我们写组件的时候可以写在.vue 里呢?可以是别的文件名后缀吗? [我来挑战]
    • vue-loader 是什么?它有什么作用? [我来挑战]
    • 说说你对 vue 的 extend (构造器)的理解,它主要是用来做什么的? [我来挑战]
    • 如果将 axios 异步请求同步化处理? [我来挑战]
    • 怎么捕获组件 vue 的错误信息? [我来挑战]
    • 为什么 vue 使用异步更新组件? [我来挑战]
    • 如何实现一个虚拟 DOM ?说说你的思路 [我来挑战]
    • 写出多种定义组件模板的方法 [我来挑战]
    • SPA 单页面的实现方式有哪些? [我来挑战]
    • 说说你对 SPA 单页面的理解,它的优缺点分别是什么? [我来挑战]
    • 说说你都用 vue 做过哪些类型的项目? [我来挑战]
    • 在 vue 项目中如何引入第三方库(比如 jQuery )?有哪些方法可以做到? [我来挑战]
    • 使用 vue 手写一个过滤器 [我来挑战]
    • 你有使用过 render 函数吗?有什么好处? [我来挑战]
    • 写出你常用的指令有哪些? [我来挑战]
    • 手写一个自定义指令及写出如何调用 [我来挑战]
    • 组件进来请求接口时你是放在哪个生命周期?为什么? [我来挑战]
    • 你有用过事件总线(EventBus)吗?说说你的理解 [我来挑战]
    • 说说 vue 的优缺点分别是什么? [我来挑战]
    • DOM 渲染在哪个周期中就已经完成了? [我来挑战]
    • 第一次加载页面时会触发哪几个钩子? [我来挑战]
    • vue 生命周期总共有几个阶段? [我来挑战]
    • vue 生命周期的作用是什么? [我来挑战]
    • vue 和 angular 有什么区别呢? [我来挑战]
    • 如何引入 scss ?引入后如何使用? [我来挑战]
    • 使用 vue 开发过程你是怎么做接口管理的? [我来挑战]
    • 为何官方推荐使用 axios 而不用 vue-resource ? [我来挑战]
    • 你了解 axios 的原理吗?有看过它的源码吗? [我来挑战]
    • 你有封装过 axios 吗?主要是封装哪方面的? [我来挑战]
    • 如何中断 axios 的请求? [我来挑战]
    • axios 是什么?怎样使用它?怎么解决跨域的问题? [我来挑战]
    • 说说你对 vue 的 template 编译的理解? [我来挑战]
    • v-on 可以绑定多个方法吗? [我来挑战]
    • vue 常用的修饰符有哪些?列举并说明 [我来挑战]
    • 你认为 vue 的核心是什么? [我来挑战]
    • v-model 是什么?有什么用呢? [我来挑战]
    • 说说你对 vue 的 mixin 的理解,有什么应用场景? [我来挑战]
    • SPA 首屏加载速度慢的怎么解决? [我来挑战]
    • 删除数组用 delete 和 Vue.delete 有什么区别? [我来挑战]
    • 动态给 vue 的 data 添加一个新的属性时会发生什么?怎样解决? [我来挑战]
    • 组件和插件有什么区别? [我来挑战]
    • 说说你使用 vue 过程中遇到的问题(坑)有哪些,你是怎么解决的? [我来挑战]
    • 说说你对选项 el,template,render 的理解 [我来挑战]
    • vue 实例挂载的过程是什么? [我来挑战]
    • vue 在组件中引入插件的方法有哪些? [我来挑战]
    • v-if 和 v-for 的优先级是什么?如果这两个同时出现时,那应该怎么优化才能得到更好的性能? [我来挑战]
    • 分别说说 vue 能监听到数组或对象变化的场景,还有哪些场景是监听不到的?无法监听时有什么解决方案? [我来挑战]
    • $nextTick 有什么作用? [我来挑战]
    • 为什么 data 属性必须声明为返回一个初始数据对应的函数呢? [我来挑战]
    • 怎么在 watch 监听开始之后立即被调用? [我来挑战]
    • watch 怎么深度监听对象变化? [我来挑战]
    • watch 和计算属性有什么区别? [我来挑战]
    • vue 如何监听键盘事件? [我来挑战]
    • v-for 循环中 key 有什么作用? [我来挑战]
    • 怎么在 vue 中使用插件? [我来挑战]
    • 你有写过自定义组件吗? [我来挑战]
    • 说说你对 keep-alive 的理解是什么? [我来挑战]
    • 怎么使 css 样式只在当前组件中生效? [我来挑战]
    • 你有看过 vue 的源码吗?如果有那就说说看 [我来挑战]
    • 你有写过自定义指令吗?自定义指令的生命周期(钩子函数)有哪些? [我来挑战]
    • v-show 和 v-if 有什么区别?使用场景分别是什么? [我来挑战]
    • 说说你对 MVC、MVP、MVVM 模式的理解 [我来挑战]
    • 说下你对指令的理解? [我来挑战]
    • 请描述下 vue 的生命周期是什么? [我来挑战]
    • vue 组件之间的通信都有哪些? [我来挑战]
    • 什么是虚拟 DOM ? [我来挑战]
    • 什么是双向绑定?原理是什么? [我来挑战]
    • vue 和 react 有什么不同?使用场景是什么? [我来挑战]
    • 说说 vue 的优缺点 [我来挑战]
    • 有使用过 vue 吗?说说你对 vue 的理解 [我来挑战]

    vue-cli

    • vue-cli 生成的项目可以使用 es6、es7 的语法吗?为什么? [我来挑战]
    • vue-cli 怎么解决跨域的问题? [我来挑战]
    • vue-cli 中你经常的加载器有哪些? [我来挑战]
    • 你知道什么是脚手架吗? [我来挑战]
    • 说下你了解的 vue-cli 原理?你可以自己实现个类 vue-cli 吗? [我来挑战]
    • 怎么使用 vue-cli3 创建一个项目? [我来挑战]
    • vue-cli3 你有使用过吗?它和 2.x 版本有什么区别? [我来挑战]
    • vue-cli 默认是单页面的,那要弄成多页面该怎么办呢? [我来挑战]
    • 不用 vue-cli,你自己有搭建过 vue 的开发环境吗?流程是什么? [我来挑战]

    vue-router

    1 条回复    2019-07-30 16:33:53 +08:00
    xiaopengzi
        1
    xiaopengzi  
       2019-07-30 16:33:53 +08:00
    灵魂追问 what how why
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5831 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 02:44 · PVG 10:44 · LAX 19:44 · JFK 22:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.