2021年,vue3.0 面試題分析(乾貨滿滿,內容詳盡)

2020-12-11 尚學堂前端學院

Vue3.0 對於我們前端人的重要性 —— 2021年面試必備

2020年09月18日,vue3.0正式發布。隨著它的發布,Vue.js再次被推上了前端的風口浪尖。同時,面試官的提問也將加入一些有關Vue3.0的新元素(相信近期去面試的小夥伴或多或少都會被問到Vue3.0的知識點)。

那麼接下來分析一波(本文講的非常詳細,爭取大家都能看懂,對大家有所幫助):

1. Vue3.0裡有哪些是值得我們重點關注的點?

2. Vue3.0中,哪些是面試官喜歡問的高頻率問題?

1. Vue3.0 裡為什麼要用 Proxy API 替代 defineProperty API?—— 響應式優化(高頻,重點!!!)

這是在面試中問的最多的一個問題,無論是大廠還是中小型公司,都喜歡問,也是Vue更新的重點。

a. defineProperty API 的局限性最大原因是它只能針對單例屬性做監聽

Vue2.x中的響應式實現正是基於defineProperty中的descriptor,對 data 中的屬性做了遍歷 + 遞歸,為每個屬性設置了 getter、setter。這也就是為什麼 Vue 只能對 data 中預定義過的屬性做出響應的原因,在Vue中使用下標的方式直接修改屬性的值或者添加一個預先不存在的對象屬性是無法做到setter監聽的,這是defineProperty的局限性。b. Proxy API的監聽是針對一個對象的,那麼對這個對象的所有操作會進入監聽操作, 這就完全可以代理所有屬性,將會帶來很大的性能提升和更優的代碼。

Proxy 可以理解成,在目標對象之前架設一層「攔截」,外界對該對象的訪問,都必須先通過這層攔截,因此提供了一種機制,可以對外界的訪問進行過濾和改寫。c. 響應式是惰性的

在 Vue.js 2.x 中,對於一個深層屬性嵌套的對象,要劫持它內部深層次的變化,就需要遞歸遍歷這個對象,執行 Object.defineProperty 把每一層對象數據都變成響應式的,這無疑會有很大的性能消耗在 Vue.js 3.0 中,使用 Proxy API 並不能監聽到對象內部深層次的屬性變化,因此它的處理方式是在 getter 中去遞歸響應式,這樣的好處是真正訪問到的內部屬性才會變成響應式,簡單的可以說是按需實現響應式,減少性能消耗。基礎用法:

2. Vue3.0 編譯做了哪些優化?(底層,源碼)

a. 生成 Block tree

Vue.js 2.x 的數據更新並觸發重新渲染的粒度是組件級的,單個組件內部 需要遍歷該組件的整個 vnode 樹。在2.0裡,渲染效率的快慢與組件大小成正相關:組件越大,渲染效率越慢。並且,對於一些靜態節點,又無數據更新,這些遍歷都是性能浪費。Vue.js 3.0 做到了通過編譯階段對靜態模板的分析,編譯生成了 Block tree。 Block tree是一個將模版基於動態節點指令切割的嵌套區塊,每個 區塊內部的節點結構是固定的,每個區塊只需要追蹤自身包含的動態節點。所以,在3.0裡,渲染效率不再與模板大小成正相關,而是與模板中動態節點的數量成正相關。

b. slot 編譯優化

Vue.js 2.x 中,如果有一個組件傳入了slot,那麼每次父組件更新的時候,會強制使子組件update,造成性能的浪費。Vue.js 3.0 優化了slot的生成,使得非動態slot中屬性的更新只會觸發子組件的更新。動態slot指的是在slot上面使用v-if,v-for,動態slot名字等會導致slot產生運行時動態變化但是又無法被子組件track的操作。c. diff算法優化(此知識點進大廠可能會問到,由於篇幅較長,大家可以去官網看下)

3. Vue3.0新特性 —— Composition API 與 React.js 中 Hooks的異同點(難點問題)

a. React.js 中的 Hooks 基本使用

React Hooks 允許你 "勾入" 諸如組件狀態和副作用處理等 React 功能中。Hooks 只能用在函數組件中,並允許我們在不需要創建類的情況下將狀態、副作用處理和更多東西帶入組件中。React 核心團隊奉上的採納策略是不反對類組件,所以你可以升級 React 版本、在新組件中開始嘗試 Hooks,並保持既有組件不做任何更改。案例:

useState 和 useEffect 是 React Hooks 中的一些例子,使得函數組件中也能增加狀態和運行副作用。我們也可以自定義一個Hooks,它打開了代碼復用性和擴展性的新大門。b. Vue Composition API 基本使用

Vue Composition API 圍繞一個新的組件選項 setup 而創建。setup() 為 Vue 組件提供了狀態、計算值、watcher 和生命周期鉤子。並沒有讓原來的 API(Options-based API)消失。允許開發者 結合使用新舊兩種 API(向下兼容)。

c. 原理

React hook 底層是基於鍊表實現,調用的條件是每次組件被render的時候都會順序執行所有的hooks。vue hook 只會被註冊調用一次,vue 能避開這些麻煩的問題,原因在於它對數據的響應是基於proxy的,對數據直接代理觀察。(這種場景下,只要任何一個更改data的地方,相關的function或者template都會被重新計算,因此避開了react可能遇到的性能上的問題)。react 中,數據更改的時候,會導致重新render,重新render又會重新把hooks重新註冊一次,所以react複雜程度會高一些。4. Vue3.0是如何變得更快的?(底層,源碼)

a. diff方法優化

Vue2.x 中的虛擬dom是進行全量的對比。Vue3.0 中新增了靜態標記(PatchFlag):在與上次虛擬結點進行對比的時候,值對比帶有patch flag的節點,並且可以通過flag 的信息得知當前節點要對比的具體內容化。b. hoistStatic 靜態提升

Vue2.x : 無論元素是否參與更新,每次都會重新創建。Vue3.0 : 對不參與更新的元素,只會被創建一次,之後會在每次渲染時候被不停的復用。c. cacheHandlers 事件偵聽器緩存

默認情況下onClick會被視為動態綁定,所以每次都會去追蹤它的變化但是因為是同一個函數,所以沒有追蹤變化,直接緩存起來復用即可。說在後面

其實很多小夥伴都存在這樣一種情況:Vue2.x都用了一年多了,官方文檔都還沒有去詳細過一遍,遇到問題就百度,所以Vue3.0一出就驚慌失措。

所以我建議正確的學習姿勢應該是:

當我們去接觸一門新技術的時候,首要任務就是看官方文檔,先大致過一遍,知道有哪些東西。開發的時候遇到問題再去針對具體的知識點細看。遇到實在搞不定的,官方文檔看不懂的,再行百度也不遲。本篇文章就到這裡了,如果對大家有所幫助,歡迎點讚評論與轉發(拒絕白嫖~)。

如果有不對的地方,敬請指出,感激不盡!

原作者姓名: 歐陽呀原出處:CSDN

相關焦點

  • 2021年國考外交部面試特色命題如何準備?
    2021年國考外交部面試特色命題如何準備?由北京人事考試網提供:更多關於國考,公務員考試,公務員,國家公務員的內容請關注國家公務員考試網/北京公務員考試網!或關注北京華圖微信公眾號(bjhuatu),國家公務員考試培訓諮詢電話:400-010-1568。
  • 2020最新Web前端經典面試題試題及答案(持續更新)-開課吧
    Web前端面試題Web前端面試題:說說你對webpack的看法解析:webpack是一個模塊打包工具,可以使用webpackwebpack模塊打包器會分析模塊間的依賴關係,最後生成了優化且合併後的靜態資源。
  • 2021國家公務員面試情景題如何作答
    【導讀】華圖國家公務員考試網同步國家公務員考試網發布:2021國家公務員面試情景題如何作答,更多關於2021國家公務員面試技,國考面試情景題如何作答的內容請關注廣西國家公務員考試網,以及廣西華圖微信公眾號(gxhuatu)和國考交流群:928698228),獲取更多招考信息和備考資料。
  • 2021國家公務員面試名單 | 面試時間 | 面試形式 | 面試流程
    2021國家公務員面試名單 | 面試時間 | 面試形式 | 面試流程由國家公務員考試網考試快訊欄目由提供,更多關於國考分數線,國考面試名單,國家公務員考試考試快訊的內容,請關注國家公務員考試網/廣東公務員考試網!   2021國家公務員考試,面試人員名單已公布!
  • 國考面試2018年3月10日出入境檢驗檢疫系統面試題
    【導讀】華圖國家公務員考試網同步寧夏華圖發布:國考面試2018年3月10日出入境檢驗檢疫系統面試題,詳細信息請閱讀下文!如有疑問請加【2021國家公務員考試微信客服】 ,更多資訊請關注寧夏華圖微信公眾號(ningxiaht),國家公務員培訓諮詢電話:0951-6028571/6027571 18295188220,微信號:HT15202602573   2018年3月10日出入境檢驗檢疫系統面試題   第一段是十九大報告的一些內容
  • 【乾貨】2020教師資格證面試報名已結束,速看教師資格證面試科目|流
    2020年教師資格證面試報名已經告一段落,接下來就是緊張備考的時刻了,面試將於2021年1月9日-10日正式開始,很多小夥伴問,教師資格證面試考什麼?流程是什麼樣的,下面跟著廣東教師招聘網一起來看看吧。
  • 國考面試2020年7月25日銀保監會面試題
    【導讀】華圖國家公務員考試網同步寧夏華圖發布:國考面試2020年7月25日銀保監會面試題,詳細信息請閱讀下文!如有疑問請加【2021國家公務員考試微信客服】 ,更多資訊請關注寧夏華圖微信公眾號(ningxiaht),國家公務員培訓諮詢電話:0951-6028571/6027571 18295188220,微信號:HT15202602573   2020年7月25日銀保監會面試題   第一部分:通用題(3題)
  • 2021國考面試備考「全面出擊」之哲理思辨題
    推薦 2021國家公務員筆試已結束,筆試成績即將在2021年1月發布。今日重要關注:2021國考筆試成績查詢預約。成績發布後中公簡訊提醒您。
  • 國考面試:2015年國家公務員考試外交部面試題(3月10日下午)
    【導讀】華圖國家公務員考試網同步華圖教育發布:國考面試:2015年國家公務員考試外交部面試題(3月10日下午),詳細信息請閱讀下文!如有疑問請加【2021國家公務員考試微信客服】 ,更多資訊請關注寧夏華圖微信公眾號(ningxiaht),國家公務員培訓諮詢電話:0951-6028571/6027571 18295188220,微信號:HT15202602573 2021國考分數線及面試名單已於1月11日公布,總共進面70032人。
  • 了解vue3.0的異步更新原理
    「關注 前端開發社區 ,回復「 1」 即可加入 前端技術交流群,回復 「 2」 即可免費領取500G前端乾貨!今天我們簡單了解下vue3.0的異步更新原理,了解一下effect,watchEffect的特點以及最主要queueFlush函數的實現(函數名字本意就是:排隊刷新)effect特點import { effect, reactive } from '.
  • 國考面試2019年3月10日上午銀保監會面試題(財經&河北)
    【導讀】華圖國家公務員考試網同步寧夏華圖發布:國考面試2019年3月10日上午銀保監會面試題(財經&河北),詳細信息請閱讀下文!如有疑問請加【2021國家公務員考試微信客服】 ,更多資訊請關注寧夏華圖微信公眾號(ningxiaht),國家公務員培訓諮詢電話:0951-6028571/6027571 18295188220,微信號:HT15202602573   2019年3月10日上午銀保監會面試題(財經·河北)   1.自我介紹
  • 2021國考稅務局面試公告何時出 面試時間在什麼時候
    ,考生可在查詢2021國家公務員面試名單,看看自己是否進入面試,若在面試名單上,考生科要抓緊時間複習了,甘肅中公教育為幫助報考稅務考生複習,特整理了相關內容,請考生及時查看。國考稅務局面試基本考情1.面試形式:結構化小組。2.面試題量:每天1套題,每套3道題目。3.面試時間:備考總時間15分鐘;答題總時間不超過9分鐘,每題作答不超過3分鐘;點評總時間不超過4分鐘,點評每人不超過2分鐘;回應總時間不超過4分鐘,回應每人不超過2分鐘。
  • 2021年重慶公考面試預測真題:原計劃周末郊遊,領導卻安排加班!
    特別提示:本專欄共計重慶公考面試真題精講100例!乾貨滿滿,助你成公!2021年重慶公考面試預測真題:你是某部門工作人員,本周末原計劃陪伴家人去城郊小遊,體驗農家生活,家人也早就做好了準備工作,只待出發。然而,在周五晚上卻接到領導電話安排工作,為進一步加快推進垃圾分類工作,需要在周一上午組織一場垃圾分類指導員培訓工作會,請問你如何處理?
  • 全軍2021文職面試內容有哪些?
    全軍2021文職面試內容有哪些?由北京軍隊文職招聘考試網提供:更多關於全軍2021文職面試內容,文職面試內容的內容請關注軍隊文職招聘考試網!或關注北京華圖微信公眾號(bjhuatu),軍隊文職招聘考試諮詢電話:400-010-1568。
  • 2021寧夏事業單位考試備考之面試技巧:正確理解公職類崗位面試
    【導讀】寧夏華圖事業單位考試網同步寧夏華圖發布:2021寧夏事業單位考試備考之面試技巧:正確理解公職類崗位面試,詳細信息請閱讀下文!   寧夏華圖同步寧夏人事考試中心為大家準備了2021寧夏事業單位考試備考之面試技巧:正確理解公職類崗位面試,大家可點擊下方公告預約連結預約2021年寧夏事業單位公告並收藏本頁面(ctrl+d),以便隨時關注最新公考信息
  • 2021國考面試模擬題:主流媒體直播帶貨傳遞正能量
    【導讀】華圖國家公務員考試網同步網絡發布:2021國考面試模擬題:主流媒體直播帶貨傳遞正能量,詳細信息請閱讀下文!如有疑問請加【2020國家公務員考試交流群匯總】 ,更多資訊請關注寧夏華圖微信公眾號(ningxiaht),國家公務員培訓諮詢電話:0951-6028571/6027571 18295188220,微信號:ht18295188220   根據2021國家公務員考試公告可知,筆試成績將在2020年1月份公布,接下就是面試,俗話說:「早起的鳥兒有蟲吃
  • 2021福建國家公務員面試模擬題:重視體育課程,提高身體素質
    2021福建國家公務員面試模擬題:重視體育課程,提高身體素質 為讓更好地備戰2021國考面試,特整理了歷年福建國家公務員面試試題及答案等資料,以供大家參考學習。
  • 2021年國考國家統計局調查總隊面試命題特點大剖析
    2021年國考國家統計局調查總隊面試命題特點大剖析由北京人事考試網提供:更多關於國考,公務員考試,公務員,國家公務員的內容請關注國家公務員考試網/北京公務員考試網!或關注北京華圖微信公眾號(bjhuatu),國家公務員考試培訓諮詢電話:400-010-1568。
  • 2021年國家公務員考試結構化面試是什麼形式
    【導讀】華圖國家公務員考試網同步寧夏華圖發布:2021年國家公務員考試結構化面試是什麼形式,詳細信息請閱讀下文!        點擊觀看<<<<<2021國家公務員考試面試解讀峰會    寧夏華圖教育為廣大考生帶來了2021年國家公務員考試結構化面試是什麼形式,廣大考生可收藏
  • 國家公務員考試網_2021國家公務員無領導小組結構化面試程序
    國家公務員考試網_2021國家公務員無領導小組結構化面試程序由福建公務員考試錄用網提供同步公務員考試網,更多關於國家公務員考試,成績查詢,面試時間,面試名單,面試備考的內容,請關注福建公務員考試網!