全網最全的Vue 面試題

chimyking發表於2019-08-09

Vue 面試題

感謝浪子神劍-github整理的文件。本文便於自己學習所用,所有連線均指向原文倉庫地址,本文markdown檔案可到 本人倉庫獲取

(原文連結vue 248個知識點(面試題)為你保駕護航)

vue

  1. 你知道 vue 的模板語法用的是哪個 web 模板引擎的嗎?說說你對這模板引擎的理解

  2. 你知道 v-model 的原理嗎?說說看

  3. 你有使用過 vue 開發多語言專案嗎?說說你的做法?

  4. 在使用計算屬性的時,函式名和 data 資料來源中的資料可以同名嗎?

  5. vue 中 data 的屬性可以和 methods 中的方法同名嗎?為什麼?

  6. 怎麼給 vue 定義全域性的方法?

  7. vue2.0 不再支援 v-html 中使用過濾器了怎麼辦?

  8. 怎麼解決 vue 打包後靜態資源圖片失效的問題?

  9. 怎麼解決 vue 動態設定 img 的 src 不生效的問題?

  10. 使用 vue 後怎麼針對搜尋引擎做 seo 優化?

  11. 跟 keep-alive 有關的生命週期是哪些?描述下這些生命週期

  12. 如果現在讓你從 vue/react/angularjs 三個中選擇一個,你會選哪個?說說你的理由

  13. 你知道 vue2.0 相容 ie 哪個版本以上嗎?

  14. 使用 vue 開發一個 todo 小應用,談下你的思路

  15. 你有看過 vue 推薦的風格指南嗎?列舉出你知道的幾條

  16. 你是從 vue 哪個版本開始用的?你知道 1.x 和 2.x 有什麼區別嗎?

  17. 你知道 vue 中 key 的原理嗎?說說你對它的理解

  18. vue 中怎麼重置 data?

  19. vue 渲染模板時怎麼保留模板中的 html 註釋呢?

  20. vue.observable 你有了解過嗎?說說看

  21. 你知道 style 加 scoped 屬性的用途和原理嗎?

  22. 你期待 vue3.0 有什麼功能或者改進的地方?

  23. vue 邊界情況有哪些?

  24. 如何在子元件中訪問父元件的例項?

  25. watch 的屬性用箭頭函式定義結果會怎麼樣?

  26. 在 vue 專案中如果 methods 的方法用箭頭函式定義結果會怎麼樣?

  27. 在 vue 專案中如何配置 favicon?

  28. 你有使用過 babel-polyfill 模組嗎?主要是用來做什麼的?

  29. 說說你對 vue 的錯誤處理的瞭解?

  30. 在 vue 事件中傳入$event,使用 e.target 和 e.currenttarget 有什麼區別?

  31. 在.vue 檔案中 style 是必須的嗎?那 script 是必須的嗎?為什麼?

  32. vue 怎麼實現強制重新整理元件?

  33. vue 自定義事件中父元件怎麼接收子元件的多個引數?

  34. 實際工作中,你總結的 vue 最佳實踐有哪些?

  35. vue 給元件繫結自定義事件無效怎麼解決?

  36. vue 的屬性名稱與 method 的方法名稱一樣時會發生什麼問題?

  37. vue 變數名如果以_、$開頭的屬性會發生什麼問題?怎麼訪問到它們的值?

  38. vue 使用 v-for 遍歷物件時,是按什麼順序遍歷的?如何保證順序?

  39. vue 如果想擴充套件某個現有的元件時,怎麼做呢?

  40. 說下$attrs$listeners的使用場景

  41. 分析下 vue 專案本地開發完成後部署到伺服器後報 404 是什麼原因呢?

  42. v-once 的使用場景有哪些?

  43. 說說你對 vue 的表單修飾符.lazy 的理解

  44. vue 為什麼要求元件模板只能有一個根元素?

  45. eventbus 註冊在全域性上時,路由切換時會重複觸發事件,如何解決呢?

  46. 怎麼修改 vue 打包後生成檔案路徑?

  47. 你有使用做過 vue 與原生 app 互動嗎?說說 vue 與 ap 互動的方法

  48. 使用 vue 寫一個 tab 切換

  49. vue 中什麼是遞迴元件?舉個例子說明下?

  50. 怎麼訪問到子元件的例項或者子元素?

  51. 在子元件中怎麼訪問到父元件的例項?

  52. 在元件中怎麼訪問到根例項?

  53. 說說你對 object.defineproperty 的理解

  54. vue 元件裡寫的原生 addeventlisteners 監聽事件,要手動去銷燬嗎?為什麼?

  55. vue 元件裡的定時器要怎麼銷燬?

  56. vue 元件會在什麼時候下被銷燬?

  57. 使用 vue 渲染大量資料時應該怎麼優化?說下你的思路!

  58. 在 vue 中使用 this 應該注意哪些問題?

  59. 你有使用過 jsx 嗎?說說你對 jsx 的理解

  60. 說說元件的命名規範

  61. 怎麼配置使 vue2.0+支援 typescript 寫法?

  62. <template></template>有什麼用?

  63. vue 的 is 這個特性你有用過嗎?主要用在哪些方面?

  64. vue 的:class 和:style 有幾種表示方式?

  65. 你瞭解什麼是函式式元件嗎?

  66. vue 怎麼改變插入模板的分隔符?

  67. 元件中寫 name 選項有什麼作用?

  68. 說說你對 provide 和 inject 的理解

  69. 開發過程中有使用過 devtools 嗎?

  70. 說說你對 slot 的理解有多少?slot 使用場景有哪些?

  71. 你有使用過動態元件嗎?說說你對它的理解

  72. prop 驗證的 type 型別有哪幾種?

  73. prop 是怎麼做驗證的?可以設定預設值嗎?

  74. 怎麼快取當前開啟的路由元件,快取後想更新當前元件怎麼辦呢?

  75. 說說你對 vue 元件的設計原則的理解

  76. 你瞭解 vue 的 diff 演算法嗎?

  77. vue 如何優化首頁的載入速度?

  78. vue 打包成最終的檔案有哪些?

  79. ajax、fetch、axios 這三都有什麼區別?

  80. vue 能監聽到陣列變化的方法有哪些?為什麼這些方法能監聽到呢?

  81. vue 中是如何使用 event 物件的?

  82. vue 首頁白屏是什麼問題引起的?如何解決呢?

  83. 說說你對單向資料流和雙向資料流的理解

  84. 移動端 ui 你用的是哪個 ui 庫?有遇到過什麼問題嗎?

  85. 你知道 nexttick 的原理嗎?

  86. 說說你對 v-clock 和 v-pre 指令的理解

  87. 寫出你知道的表單修飾符和事件修飾符

  88. 說說你對 proxy 的理解

  89. 你有自己用 vue 寫過 ui 元件庫嗎?

  90. 用 vue 怎麼實現一個換膚的功能?

  91. 有在 vue 中使用過 echarts 嗎?踩過哪些坑?如何解決的?

  92. 如果讓你教一個 2-3 年經驗前端經驗的同事使用 vue,你該怎麼教?

  93. vue 效能的優化的方法有哪些?

  94. ssr 解決了什麼問題?有做過 ssr 嗎?你是怎麼做的?

  95. 說說你覺得認為的 vue 開發規範有哪些?

  96. vue 部署上線前需要做哪些準備工作?

  97. vue 過渡動畫實現的方式有哪些?

  98. vue 在 created 和 mounted 這兩個生命週期中請求資料有什麼區別呢?

  99. vue 父子元件雙向繫結的方法有哪些?

  100. vue 怎麼獲取 dom 節點?

  101. vue 專案有做過單元測試嗎?

  102. vue 專案有使用過 npm run build --report 嗎?

  103. 如何解決 vue 打包 vendor 過大的問題?

  104. webpack 打包 vue 速度太慢怎麼辦?

  105. vue 在開發過程中要同時跟 n 個不同的後端人員聯調介面(請求的 url 不一樣)時你該怎麼辦?

  106. vue 要做許可權管理該怎麼做?如果控制到按鈕級別的許可權怎麼做?

  107. 說下你的 vue 專案的目錄結構,如果是大型專案你該怎麼劃分結構和劃分元件呢?

  108. 在移動端使用 vue,你覺得最佳實踐有哪些?

  109. 你們專案為什麼會選 vue 而不選擇其它的框架呢?

  110. 對於即將到來的 vue3.0 特性你有什麼瞭解的嗎?

  111. vue 開發過程中你有使用什麼輔助工具嗎?

  112. vue 和微信小程式寫法上有什麼區別?

  113. 怎麼快取當前的元件?快取後怎麼更新?

  114. 你瞭解什麼是高階元件嗎?可否舉個例子說明下?

  115. 為什麼我們寫元件的時候可以寫在.vue 裡呢?可以是別的檔名字尾嗎?

  116. vue-loader 是什麼?它有什麼作用?

  117. 說說你對 vue 的 extend(構造器)的理解,它主要是用來做什麼的?

  118. 如果將 axios 非同步請求同步化處理?

  119. 怎麼捕獲元件 vue 的錯誤資訊?

  120. 為什麼 vue 使用非同步更新元件?

  121. 如何實現一個虛擬 dom?說說你的思路

  122. 寫出多種定義元件模板的方法

  123. spa 單頁面的實現方式有哪些?

  124. 說說你對 spa 單頁面的理解,它的優缺點分別是什麼?

  125. 說說你都用 vue 做過哪些型別的專案?

  126. 在 vue 專案中如何引入第三方庫(比如 jquery)?有哪些方法可以做到?

  127. 使用 vue 手寫一個過濾器

  128. 你有使用過 render 函式嗎?有什麼好處?

  129. 寫出你常用的指令有哪些?

  130. 手寫一個自定義指令及寫出如何呼叫

  131. 元件進來請求介面時你是放在哪個生命週期?為什麼?

  132. 你有用過事件匯流排(eventbus)嗎?說說你的理解

  133. 說說 vue 的優缺點分別是什麼?

  134. dom 渲染在哪個週期中就已經完成了?

  135. 第一次載入頁面時會觸發哪幾個鉤子?

  136. vue 生命週期總共有幾個階段?

  137. vue 生命週期的作用是什麼?

  138. vue 和 angular 有什麼區別呢?

  139. 如何引入 scss?引入後如何使用?

  140. 使用 vue 開發過程你是怎麼做介面管理的?

  141. 為何官方推薦使用 axios 而不用 vue-resource?

  142. 你瞭解 axios 的原理嗎?有看過它的原始碼嗎?

  143. 你有封裝過 axios 嗎?主要是封裝哪方面的?

  144. 如何中斷 axios 的請求?

  145. axios 是什麼?怎樣使用它?怎麼解決跨域的問題?

  146. 說說你對 vue 的 template 編譯的理解?

  147. v-on 可以繫結多個方法嗎?

  148. vue 常用的修飾符有哪些?列舉並說明

  149. 你認為 vue 的核心是什麼?

  150. v-model 是什麼?有什麼用呢?

  151. 說說你對 vue 的 mixin 的理解,有什麼應用場景?

  152. spa 首屏載入速度慢的怎麼解決?

  153. 刪除陣列用 delete 和 vue.delete 有什麼區別?

  154. 動態給 vue 的 data 新增一個新的屬性時會發生什麼?怎樣解決?

  155. 元件和外掛有什麼區別?

  156. 說說你使用 vue 過程中遇到的問題(坑)有哪些,你是怎麼解決的?

  157. 說說你對選項 el,template,render 的理解

  158. vue 例項掛載的過程是什麼?

  159. vue 在元件中引入外掛的方法有哪些?

  160. v-if 和 v-for 的優先順序是什麼?如果這兩個同時出現時,那應該怎麼優化才能得到更好的效能?

  161. 分別說說 vue 能監聽到陣列或物件變化的場景,還有哪些場景是監聽不到的?無法監聽時有什麼解決方案?

  162. $nexttick 有什麼作用?

  163. 為什麼 data 屬性必須宣告為返回一個初始資料對應的函式呢?

  164. 怎麼在 watch 監聽開始之後立即被呼叫?

  165. watch 怎麼深度監聽物件變化?

  166. watch 和計算屬性有什麼區別?

  167. vue 如何監聽鍵盤事件?

  168. v-for 迴圈中 key 有什麼作用?

  169. 怎麼在 vue 中使用外掛?

  170. 你有寫過自定義元件嗎?

  171. 說說你對 keep-alive 的理解是什麼?

  172. 怎麼使 css 樣式只在當前元件中生效?

  173. 你有看過 vue 的原始碼嗎?如果有那就說說看

  174. 你有寫過自定義指令嗎?自定義指令的生命週期(鉤子函式)有哪些?

  175. v-show 和 v-if 有什麼區別?使用場景分別是什麼?

  176. 說說你對 mvc、mvp、mvvm 模式的理解

  177. 說下你對指令的理解?

  178. 請描述下 vue 的生命週期是什麼?

  179. vue 元件之間的通訊都有哪些?

  180. 什麼是虛擬 dom?

  181. 什麼是雙向繫結?原理是什麼?

  182. vue 和 react 有什麼不同?使用場景是什麼?

  183. 說說 vue 的優缺點

  184. 有使用過 vue 嗎?說說你對 vue 的理解

vue-cli

  1. vue-cli 提供了的哪幾種腳手架模板?

  2. vue-cli 工程中常用的 npm 命令有哪些?

  3. 在使用 vue-cli 開發 vue 專案時,自動重新整理頁面的原理你瞭解嗎?

  4. vue-cli3 外掛有寫過嗎?怎麼寫一個程式碼生成外掛?

  5. vue-cli 生成的專案可以使用 es6、es7 的語法嗎?為什麼?

  6. vue-cli 怎麼解決跨域的問題?

  7. vue-cli 中你經常的載入器有哪些?

  8. 你知道什麼是腳手架嗎?

  9. 說下你瞭解的 vue-cli 原理?你可以自己實現個類 vue-cli 嗎?

  10. 怎麼使用 vue-cli3 建立一個專案?

  11. vue-cli3 你有使用過嗎?它和 2.x 版本有什麼區別?

  12. vue-cli 預設是單頁面的,那要弄成多頁面該怎麼辦呢?

  13. 不用 vue-cli,你自己有搭建過 vue 的開發環境嗎?流程是什麼?

vue-router

  1. vue-router 怎麼重定向頁面?
  2. vue-router 怎麼配置 404 頁面?
  3. 切換路由時,需要儲存草稿的功能,怎麼實現呢?
  4. vue-router 路由有幾種模式?說說它們的區別?
  5. vue-router 有哪幾種導航鉤子( 導航守衛 )?
  6. 說說你對 router-link 的瞭解
  7. vue-router 如何響應路由引數的變化?
  8. 你有看過 vue-router 的原始碼嗎?說說看
  9. 切換到新路由時,頁面要滾動到頂部或保持原先的滾動位置怎麼做呢?
  10. 在什麼場景下會用到巢狀路由?
  11. 如何獲取路由傳過來的引數?
  12. 說說 active-class 是哪個元件的屬性?
  13. 在 vue 元件中怎麼獲取到當前的路由資訊?
  14. vur-router 怎麼重定向?
  15. 怎樣動態載入路由?
  16. 怎麼實現路由懶載入呢?
  17. 如果讓你從零開始寫一個 vue 路由,說說你的思路
  18. 說說 vue-router 完整的導航解析流程是什麼?
  19. 路由之間是怎麼跳轉的?有哪些方式?
  20. 如果 vue-router 使用 history 模式,部署時要注意什麼?
  21. route 和 router 有什麼區別?
  22. vue-router 鉤子函式有哪些?都有哪些引數?
  23. vue-router 是用來做什麼的?它有哪些元件?

vuex

  1. 你有寫過 vuex 中 store 的外掛嗎?
  2. 你有使用過 vuex 的 module 嗎?主要是在什麼場景下使用?
  3. vuex 中 actions 和 mutations 有什麼區別?
  4. vuex 使用 actions 時不支援多引數傳遞怎麼辦?
  5. 你覺得 vuex 有什麼缺點?
  6. 你覺得要是不用 vuex 的話會帶來哪些問題?
  7. vuex 怎麼知道 state 是通過 mutation 修改還是外部直接修改的?
  8. 請求資料是寫在元件的 methods 中還是在 vuex 的 action 中?
  9. 怎麼監聽 vuex 資料的變化?
  10. vuex 的 action 和 mutation 的特性是什麼?有什麼區別?
  11. 頁面重新整理後 vuex 的 state 資料丟失怎麼解決?
  12. vuex 的 state、getter、mutation、action、module 特性分別是什麼?
  13. vuex 的 store 有幾個屬性值?分別講講它們的作用是什麼?
  14. 你理解的 vuex 是什麼呢?哪些場景會用到?不用會有問題嗎?有哪些特性?
  15. 使用 vuex 的優勢是什麼?
  16. 有用過 vuex 嗎?它主要解決的是什麼問題?推薦在哪些場景用?

ElementUI

  1. elementui 是怎麼做表單驗證的?在迴圈裡對每個 input 驗證怎麼做呢?
  2. 你有二次封裝過 elementui 元件嗎?
  3. elementui 怎麼修改元件的預設樣式?
  4. elementui 的穿梭元件如果資料量大會變卡怎麼解決不卡的問題呢?
  5. elementui 表格元件如何實現動態表頭?
  6. elementui 使用表格元件時有遇到過問題嗎?
  7. 有閱讀過 elementui 的原始碼嗎?
  8. 專案中有使用過 elementui 嗎?有遇到過哪些問題?它的使用場景主要是哪些?
  9. 有用過哪些 vue 的 ui?說說它們的優缺點?

mint-ui

  1. mint-ui 使用過程中有沒有遇到什麼坑?怎麼解決的?
  2. 說出幾個 mint-ui 常用的元件
  3. mint-ui 是什麼?你有使用過嗎?

相關文章