Vue相关面试题及答案分享
Web前端重點技能是什么?Vue相關面試題有哪些?Vue是一套構建用戶界面的漸進式框架,具有簡單易用、性能好、前后端分離等優(yōu)勢,是Web前端工程師工作的好幫手,也是企業(yè)選拔人才時考察的重點技能。接下來千鋒小編就給大家分享一些Vue相關的面試題,幫助大家提升競爭力。
你對Vue生命周期的理解?
Vue實例有一個完整的生命周期,也就是從開始創(chuàng)建、初始化數(shù)據(jù)、編譯模版、掛載Dom -> 渲染、更新 -> 渲染、卸載等一系列過程,我們稱這是Vue的生命周期。
Vue組件如何通信?
Vue組件通信的方法如下:
props emit+v?on:通過props將數(shù)據(jù)自上而下傳遞,而通過emit+v-on: 通過props將數(shù)據(jù)自上而下傳遞,而通過emit+v?on:通過props將數(shù)據(jù)自上而下傳遞,而通過emit和v-on來向上傳遞信息。
EventBus: 通過EventBus進行信息的發(fā)布與訂閱;
vuex: 是全局數(shù)據(jù)管理庫,可以通過vuex管理全局的數(shù)據(jù)流;
$attrs listeners:Vue2.4中加入的listeners: Vue2.4中加入的listeners:Vue2.4中加入的attrs/$listeners可以進行跨級的組件通信;
provide/inject:以允許一個祖先組件向其所有子孫后代注入一個依賴,不論組件層次有多深,并在起上下游關系成立的時間里始終生效,這成為了跨組件通信的基礎。
Vue如何實現(xiàn)雙向綁定?
利用Object.defineProperty劫持對象的訪問器,在屬性值發(fā)生變化時我們可以獲取變化,然后根據(jù)變化進行后續(xù)響應,在vue3.0中通過Proxy代理對象進行類似的操作。
如何理解Vue的響應式系統(tǒng)的?
響應式系統(tǒng)簡述:任何一個 Vue Component都有一個與之對應的Watcher實例。Vue的data上的屬性會被添加getter和setter屬性。當Vue Component render函數(shù)被執(zhí)行的時候,data上會被 觸碰(touch),即被讀, getter方法會被調用, 此時Vue會去記錄此Vue component所依賴的所有data。(這一過程被稱為依賴收集)
data被改動時(主要是用戶操作),即被寫,setter方法會被調用, 此時Vue會去通知所有依賴于此data的組件去調用他們的render函數(shù)進行更新。
Vue中的key到底有什么用?
key是為Vue中的vnode標記的唯一id,通過這個key,我們的diff操作可以更準確、更快速。
準確: 如果不加key,那么vue會選擇復用節(jié)點(Vue的就地更新策略),導致之前節(jié)點的狀態(tài)被保留下來,會產生一系列的bug。
快速: key的唯一性可以被Map數(shù)據(jù)結構充分利用,相比于遍歷查找的時間復雜度O(n),Map的時間復雜度僅僅為O(1)。
computed和watch有什么區(qū)別?
computed:
computed是計算屬性,也就是計算值,它更多用于計算值的場景;
computed具有緩存性,computed的值在getter執(zhí)行后是會緩存的,只有在它依賴的屬性值改變之后,下一次獲取computed的值時才會重新調用對應的getter來計算;
computed適用于計算比較消耗性能的計算場景。
watch:
更多的是「觀察」的作用,類似于某些數(shù)據(jù)的監(jiān)聽回調,用于觀察props $emit或者本組件的值,當數(shù)據(jù)變化時來執(zhí)行回調進行后續(xù)操作;
無緩存性,頁面重新渲染時值不變化也會執(zhí)行。
當然,根據(jù)企業(yè)中對Web前端人才的崗位職責規(guī)定不同,面試考察的重點也不盡相同。如果你想了解更多Web前端面試題或掌握更多面試技巧,可以專業(yè)學習一下,為自己搭建一個職場高起點!
本文來自千鋒教育,轉載請注明出處。
總結
以上是生活随笔為你收集整理的Vue相关面试题及答案分享的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python中的基本函数及其常用用法简析
- 下一篇: Java技巧-解决JAVA_HOME变量