vue作為前端目前最受歡迎的框架,成為了眾多公司和程式設計師的技術首選。我最近可能也要準備面試了,所以找了一些資料整合一下
【重點】:一定要理解vue的mvvm原理,面試必問!
採用資料劫持結合發布者-訂閱者模式的方式,通過object.defineproperty()來劫持各個屬性的setter,getter
預設vue在初始化資料時,會給data中的屬性使用object.defineproperty重新定義所有屬性,當頁面到對應屬性時,會進行依賴收集(收集當前元件中的watcher)如果屬性發生變化會通知相關依賴進行更新操作
因為如果不採用非同步更新,那麼每次更新資料都會對當前租金按進行重新渲染,所以為了效能考慮,vue會在本輪資料更新後,再去非同步更新資料
proxy的優點:
proxy的缺點:
object.defineproperty的優點:
object.defineproperty的缺點:
監聽資料變化的實現原理不同
資料流不同:
元件通訊的區別:
模板渲染方式不同:
模板中使用的資料:
渲染過程不同:
框架本質不同:
vuex和redux的區別:
組合不同功能方式不同:
vue.mixin用法給元件每個生命週期,函式等都混入一些公共邏輯
nexttick方法主要是使用了巨集任務和微任務,定義乙個非同步方法,多次呼叫nexttick會將方法存在佇列中,通過這個非同步方法清空當前佇列。所以這個nexttick方法就是非同步方法
兩個數的完全的diff演算法是乙個時間複雜度為o(n3), vue進行了優化o(n3)複雜度的問題轉換成o(n)複雜度的問題(只比較同級不考慮跨級問題)在前端當中,你很少會跨級層級地移動dom元素,所以virtual dom只會對同乙個層級地元素進行對比
Vue面試題總結
v show和v if之間的區別 為何v for中要用key 描述vue元件生命週期 有父子元件的情況 父子元件生命週期關係 子元件更新過程 父元件更新過程 銷毀過程 vue元件如何通訊 描述元件渲染和更新的過程 雙向資料繫結v model的實現原理 對mvvm的理解 computed有何特點 為何...
vue 打包命令 Vue面試題總結
vue面試題文件內容主要包括vue cli工程,vue核心知識點,vue router,vuex,http請求,ui樣式,常用功能,mvvm設計模式,深入拓展。1 vue.js vue cli工程的核心,主要特點是 雙向資料繫結 和 元件系統。3 vuex 專為 vue.js 應用專案開發的狀態管理...
部分面試題總結1
一 執行緒池的底層怎麼實現的?實現類為reentrantlock類,有幾個重要的方法 lock 加鎖,如果已經被獲取則等待 trylock 嘗試獲取鎖,獲取則返回true,否則false trylock long time,keepalivetime unit 在規定時間內獲取鎖 unlock 解鎖...