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

354 篇文章 0 订阅
248 篇文章 0 订阅

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

你对Vue生命周期的理解?

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

Vue组件如何通信?

Vue组件通信的方法如下:

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

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

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

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

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

Vue如何实现双向绑定?

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

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

响应式系统简述:任何一个 Vue Component都有一个与之对应的Watcher实例。Vue的data上的属性会被添加getter和setter属性。当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)。

computed和watch有什么区别?

computed:

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

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

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

 

watch:

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

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

 

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值