2020年已经正式开启,我们的职业生涯发展也站在了新起点,如何能够在新的一年有好的发展?千锋合肥校区老师在这里建议大家,包括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中的key到底有什么用?
key是为Vue中的vnode标记的唯一id,通过这个key,我们的diff操作可以准确、快速。
准确: 如果不加key,那么vue会选择复用节点(Vue的就地新策略),导致之前节点的状态被保留下来,会产生一系列的bug。
快速: key的唯一性可以被Map数据结构充分利用,相比于遍历查找的时间复杂度O(n),Map的时间复杂度仅仅为O(1)。
如何理解Vue的响应式系统的?
响应式系统简述:任何一个 Vue Component都有一个与之对应的Watcher实例。Vue的data上的属性会被添加getter和setter属性。当Vue Component render函数被执行的时候,data上会被 触碰(touch),即被读, getter方法会被调用, 此时Vue会去记录此Vue component所依赖的所有data。(这一过程被称为依赖收集)
data被改动时(主要是用户操作),即被写,setter方法会被调用, 此时Vue会去通知所有依赖于此data的组件去调用他们的render函数进行新。
当然,根据企业中对Web前端人才的岗位职责规定不同,有关Vue面试考察的重点也不尽相同。如果你想了解多Web前端面试题或掌握多面试技巧,可以关注“千锋教育”微信公众号以及官方网站,上面会定期发布技术热点和求职指导文章,助力你快好的求职。你也可以来千锋合肥Web前端培训班学习进阶,强化自身IT技能!
相关文章
了解千锋动态
关注千锋教育服务号
扫一扫快速进入
千锋移动端页面
扫码匿名提建议
直达CEO信箱