Vue 常見技術面試題

如何理解MVVM?

MVVM是Model-View-ViewModel的縮寫,它是一種基於前端開發的架構模式,其核心是提供對View和ViewModel的雙向數據綁定,這使得ViewModel的狀態改變可以自動傳遞給View,反之亦然。

vue就是mvvm的一個典型應用

jQuery和Vue的區別?

jQuery是通過選擇器操作dom對象,進行賦值、取值、事件綁定等操作;
vue則是通過vue對象將數據和view分離,不需要引用dom對象,使用MVVM。

Vue攔截器

對特定的http請求或響應消息或請求頭進行驗證,攔截不合法的http交互以保證web環境的安全。

分爲兩種:路由攔截、請求攔截

vuex狀態管理

Vuex的核心是store,store包含着應用中大部分的狀態(state)。

vue生命週期、常見的生命週期函數

創建、掛載、更新、卸載
beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy、destroyed

用過哪些vue ui框架

Vant、ElementUI、colorUI、chart

vue中的router和route的區別

route是一條路由;routes是一組路由;router是一個機制,相當於一個管理者,它來管理路由。

計算屬性和偵聽屬性的區別

計算屬性用來聲明式的描述一個值依賴了其他的值。
watch監聽自定義的變量,當變量的值發生變化時,調用對應的方法

vue裏面delete跟vue.delete有什麼區別?

delete只是把刪除的元素變成了empty / undefined其他的元素的鍵值還是不變。
Vue.delete直接刪除了數據,改變了數組的鍵值。

如果一個空白頁面使用彈窗this,那麼this會彈出什麼

[object window]

webpack是如何使用的?

webpack是模塊打包工具,它會分析模塊之間的依賴關係,然後使用loaders處理它們,最後生成一個優化併合並後的靜態資源。
使用方法:

  1. 搭建node環境
  2. 使用npm安裝webpack
  3. 創建項目
  4. 安裝依賴
  5. 打包運行

Vue如何實現數據的響應式?

“響應式”,是指當數據改變後,Vue 會通知到使用該數據的代碼。例如,視圖渲染中使用了數據,數據改變後,視圖也會自動更新。
Vue 的響應式,核心機制是 觀察者模式。
數據是被觀察的一方,發生改變時,通知所有的觀察者,這樣觀察者可以做出響應
每個組件實例都對應一個 watcher 實例,它會在組件渲染的過程中把“接觸”過的數據屬性記錄爲依賴。之後當依賴項的 setter 觸發時,會通知 watcher,從而使它關聯的組件重新渲染。

Vue如何解析模板?

首先模板最終必須轉換成js代碼,因爲:
第一個模板有邏輯,有v-if,v-for。必須用js才能實現(圖靈完備的語言)
第二個模板要轉化爲html渲染頁面,必須用js才能實現
因此,模板最終要轉換成一個js函數(render函數,也就是渲染函數)這個render函數返回vode對象,後面其他函數(update)將vnode渲染成html。

Vue:ssr(服務器端渲染)

SSR,意爲 Server Side Rendering(服務端渲染),目的是爲了解決單頁面應用的 SEO 和首屏渲染速度慢的問題,對於一般網站影響不大,但是對於需要做SEO的網站是致命的,搜索引擎無法抓取頁面相關內容,也就是用戶搜不到此網站的相關信息。

客戶端渲染需要:加載html=>解析html=>加載js=>解析js=>生成dom節點=>插入 html 文檔,所以很慢; 服務端渲染就是將首屏的html結構構建好直接返回,客戶端只需要:加載html=>解析html。所以首屏打開速度大大提高,但同時對 服務器 的壓力也比客戶端渲染要大。

請你解釋一下雙向綁定?

更新model,view的數據會隨之更新;更新view,model的數據也被自動更新,這種情況就是雙向綁定。
在這裏插入圖片描述

請你介紹一下vue腳手架?

Vue CLI 是一個基於 Vue.js 進行快速開發的完整系統。有三個組件:
CLI:@vue/cli 全局安裝的 npm 包,提供了終端裏的vue命令(如:vue create 、vue serve 、vue ui 等命令)
CLI 服務:@vue/cli-service是一個開發環境依賴。構建於 webpack 和 webpack-dev-server 之上(提供 如:serve、build 和 inspect 命令)
CLI 插件:給Vue 項目提供可選功能的 npm 包 (如: Babel/TypeScript 轉譯、ESLint 集成、unit和 e2e測試 等)

請你介紹一下webpack?

Webpack 是一個前端資源加載/打包工具。它將根據模塊的依賴關係進行靜態分析,然後將這些模塊按照指定的規則生成對應的靜態資源。
entry: 入口,定義整個編譯過程的起點
output: 輸出,定義整個編譯過程的終點
module: 定義模塊module的處理方式
plugins:插件,對編譯完成後的內容進行二度加工
resolve.alias 定義模塊的別名

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章