当前位置: 首页 / 技术干货 / 正文
好程序员web前端教程分享Vue相关面试题

2020-02-25

web前端教程 好程序员 Vue相关的面试题

  好程序员web前端教程分享Vue相关面试题,Vue是一套构建用户界面的渐进式框架,具有简单易用、性能好、前后端分离等优势,是web前端工程师工作的好帮手,也是企业选拔人才时考察的重点技能。接下来好程序员web前端教程资源就给大家分享一些Vue相关的面试题,帮助大家提升竞争力。

vue

  你对Vue生命周期的理解?

  Vue实例有一个完整的生命周期,也就是从开始创建、初始化数据、编译模版、挂载Dom -> 渲染、更新 -> 渲染、卸载等一系列过程,我们称这是Vue的生命周期。

  Vue组件如何通信?

  Vue组件通信的方法如下:

  props $emit+v-on: 通过props将数据自上而下传递,而通过$emitv-on来向上传递信息。

  EventBus: 通过EventBus进行信息的发布与订阅;

  vuex: 是全局数据管理库,可以通过vuex管理全局的数据流;

  $attrs $listeners: Vue2.4中加入的$attrs/$listeners可以进行跨级的组件通信;

  provide/inject:以允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在起上下游关系成立的时间里始终生效,这成为了跨组件通信的基础。

  Vue如何实现双向绑定?

  利用Object.defineProperty劫持对象的访问器,在属性值发生变化时我们可以获取变化,然后根据变化进行后续响应,vue3.0中通过Proxy代理对象进行类似的操作。

  如何理解Vue的响应式系统的?

  响应式系统简述:任何一个 Vue Component都有一个与之对应的Watcher实例。Vuedata上的属性会被添加gettersetter属性。当Vue Component render函数被执行的时候,data上会被 触碰(touch),即被读, getter方法会被调用, 此时Vue会去记录此Vue component所依赖的所有data(这一过程被称为依赖收集)

  data被改动时(主要是用户操作),即被写,setter方法会被调用, 此时Vue会去通知所有依赖于此data的组件去调用他们的render函数进行更新。

  Vue中的key到底有什么用?

  key是为Vue中的vnode标记的唯一id,通过这个key,我们的diff操作可以更准确、更快速。

  准确: 如果不加key,那么vue会选择复用节点(Vue的就地更新策略),导致之前节点的状态被保留下来,会产生一系列的bug

  快速: key的唯一性可以被Map数据结构充分利用,相比于遍历查找的时间复杂度O(n),Map的时间复杂度仅仅为O(1)

  computedwatch有什么区别?

  computed:

  computed是计算属性,也就是计算值,它更多用于计算值的场景;

  computed具有缓存性,computed的值在getter执行后是会缓存的,只有在它依赖的属性值改变之后,下一次获取computed的值时才会重新调用对应的getter来计算;

  computed适用于计算比较消耗性能的计算场景。

  watch:

  更多的是「观察」的作用,类似于某些数据的监听回调,用于观察props $emit或者本组件的值,当数据变化时来执行回调进行后续操作;

  无缓存性,页面重新渲染时值不变化也会执行。

 

  当然,根据企业中对web前端人才的岗位职责规定不同,面试考察的重点也不尽相同。如果你想了解更多web前端面试题或掌握更多面试技巧,可以关注“好程序员”微信公众号,定期发布技术热点和求职指导文章,助力你更快更好的求职。

你也可以来好程序员web前端培训班学习进阶,为自己搭建一个职场高起点,另外好程序员还为大家准备了大量web前端教程供大家参考学习。

好程序员公众号

  • · 剖析行业发展趋势
  • · 汇聚企业项目源码

好程序员开班动态

More+
  • HTML5大前端 <高端班>

    开班时间:2021-04-12(深圳)

    开班盛况

    开班时间:2021-05-17(北京)

    开班盛况
  • 大数据+人工智能 <高端班>

    开班时间:2021-03-22(杭州)

    开班盛况

    开班时间:2021-04-26(北京)

    开班盛况
  • JavaEE分布式开发 <高端班>

    开班时间:2021-05-10(北京)

    开班盛况

    开班时间:2021-02-22(北京)

    开班盛况
  • Python人工智能+数据分析 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2020-09-21(上海)

    开班盛况
  • 云计算开发 <高端班>

    开班时间:2021-07-12(北京)

    预约报名

    开班时间:2019-07-22(北京)

    开班盛况
IT培训IT培训
在线咨询
IT培训IT培训
试听
IT培训IT培训
入学教程
IT培训IT培训
立即报名
IT培训

Copyright 2011-2023 北京千锋互联科技有限公司 .All Right 京ICP备12003911号-5 京公网安备 11010802035720号