要招一個會vue的開發(fā)者:
-
作為面試官的你坎怪,你還會每次都只是問這些老土的問題嗎?
- 你對MVVM的理解是什么鲜滩?
- 你知道什么是雙向綁定嗎?你了解它的原理嗎节值?
- 說說vue的生命周期有哪些徙硅?
- 組件通訊有哪些?
- 你用過vuex嗎搞疗?
- ...
-
作為面試者的你嗓蘑,在網(wǎng)上搜索下“vue面試題及答案”,看完后你是不是覺得:
- 自己掌握了武林秘籍匿乃?
- 能忽悠住面試官了桩皿?
- 我熟練掌握vue了?
記一次印象深刻的面試
面試過很多小伙伴(要招會vue的開發(fā)者)幢炸,沒工作經(jīng)驗的泄隔,5年工作經(jīng)驗的,甚至10多年工作經(jīng)驗的...讓我印象最深宛徊,也覺得最為經(jīng)典的一個面試:
有一天佛嬉,來了一位5年前端工作經(jīng)驗的小伙子,在很多項目中使用過vue的面試者闸天,故事就從這里開始了:
(開篇省略N多對話……)
我:看你簡歷上說你在項目中有用到過vue對嗎巷燥?
小伙子:有啊,我們項目中就有用到過……
我:你認為你對vue的理解到什么程度号枕?(對自我的認知)
小伙子:做過很多項目,基本上都了解了陨享,很熟練
我:不錯葱淳,那我問下你 “vue為什么要求組件模板只能有一個根元素钝腺?”
小伙子:恩……沒在意過
我:沒關(guān)系,那 “你了解vue的diff算法嗎赞厕?”
小伙子:恩……沒用到過
我:沒事艳狐,那我再問下你,“在.vue文件中style是必須的嗎皿桑?那script是必須的嗎毫目?為什么?”
小伙子:恩……(此時小伙子有點著急了诲侮,說)
小伙子:你為何 不按套路提問 呢镀虐?你應該這樣問我:MVVM是什么,生命周期有哪些沟绪,雙向綁定的原理啊刮便,我對這些比較熟悉链方。
我:此時的我柔吼,被反問給愣住了(難道是我錯了嗎昆箕?我是農(nóng)村來的不懂套路获黔,還好我經(jīng)歷過風風雨雨淹仑,假裝鎮(zhèn)定下)涌矢。
我:這樣啊版仔,你給我說下锯岖,生命周期的原理是什么钝凶?
小伙子:……
我:要你自己實現(xiàn)一個雙向綁定的微型框架你該怎么做呢仪芒?
小伙子:……
(繼續(xù)省略N多對話……)
小伙子走前,跟我說了句:哥腿椎,我以后不敢再說我會vue了桌硫,回去我要再好好學習vue……
后話:估計小伙子出門后,肯定會千萬個吐槽:面試造火箭工作擰螺絲
30多位小伙伴傾力貢獻
- 看到網(wǎng)上vue相關(guān)的題量都非常少啃炸,完全不能滿足大家對知識的渴望铆隘。所以我聯(lián)系了30多位真正使用過vue,從各個方面篩選出了220個vue相關(guān)的知識點南用,全方面為你保駕護航膀钠!這些知識點還會持續(xù)更新……
- 目前vue相關(guān)的知識點收錄量為全網(wǎng)(全球)第一
- 收錄在了《前端面試每日3+1》的vue面試題
還有疑問?
- 問:這些題有答案嗎裹虫?
- 答:有肿嘲,在你腦中!授人以魚不如授人以漁(只有自己動手去做筑公,去思考才會變成你的答案雳窟,理解背后的原理才能做到游刃有余,不要去背匣屡,分分鐘露餡7饩取)
- 問:知識點會過期嗎拇涤?
- 答:會,但沒這么快誉结,活到老學到老鹅士,框架經(jīng)常更新,知識點就會持續(xù)更新
- 問:這么多知識點我該怎么學惩坑?
- 答:先挑些你會的掉盅,找點成就感,然后再查漏補缺以舒,堅持每天學習
有更好的建議嗎趾痘?
- 勤思考
- 多動手
- 善總結(jié)
對了打個廣告
- 《前端面試每日3+1》,學習不打烊稀轨,充電加油只為遇到更好的自己扼脐,365天無節(jié)假日,每天早上5點純手工發(fā)布面試題(死磕自己奋刽,愉悅大家)瓦侮。
- 希望大家在這浮夸的前端圈里,保持冷靜佣谐,堅持每天花20分鐘來學習與思考肚吏。
- 在這千變?nèi)f化,類庫層出不窮的前端狭魂,建議大家不要等到找工作時罚攀,才狂刷題,提倡每日學習4瞥巍(不忘初心斋泄,html、css镐牺、javascript才是基石l牌)
<p><font color="red">超多題預警開始……</font><p>
- 題目更新時間
- 第一次:2019.06.21 -> 150 道
- 第二次:2019.06.26 -> 220 道
- 第三次:2019.07.02 -> 248 道
- 第四次:2020.06.30 -> 269 道
vue | vue-cli | vue-router | vuex | ElementUI | ElementUI | mint-ui
如果你覺得這些題太easy了,可以到github上聯(lián)系作者貢獻你覺得好玩睬涧、有趣募胃、有挑戰(zhàn)性的題讓大家來挑戰(zhàn)吧。
歡迎前來挑戰(zhàn)F枧ā1允!
vue
- 在vue中watch和created哪個先執(zhí)行讶请?為什么祷嘶?
- vue中mixins和extends有什么區(qū)別?
- vue中mixins有什么使用場景?
- 在vue中created與activated有什么區(qū)別抹蚀?
- 在vue項目如何引入異步組件剿牺?
- 在vue項目中scss scoped穿透符>>>無效的解決方案有哪些?
- 為什么在v-for中的key不推薦使用隨機數(shù)或者index呢环壤?那要怎么使用才比較好呢?
- vue-loader在webpack編譯流程中的哪個階段钞诡?
- 預渲染和SSR(服務端渲染)有什么區(qū)別郑现?
- 你有用過預渲染技術(shù)嗎?怎么做的荧降?
- 使用vue如何判斷頁面是否編輯及編輯頁面未保存離開時接箫,給出彈窗提示
- vue的.sync修飾符可以用表達式嗎?為什么朵诫?
- v-if和v-show哪個優(yōu)先級更高辛友?
- 如何批量引入組件?
- vue的v-for如何倒序輸出剪返?
- 如何在全局使用axios的實例呢废累?
- v-show指令算是重排嗎?
- axios同時請求多個接口脱盲,如果當token過期時邑滨,怎么取消后面的請求?
- 從0到1自己構(gòu)架一個vue項目钱反,說說有哪些步驟掖看、哪些重要插件、目錄結(jié)構(gòu)你會怎么組織
- 你知道vue的模板語法用的是哪個web模板引擎的嗎面哥?說說你對這模板引擎的理解
- 你知道v-model的原理嗎哎壳?說說看
- 你有使用過vue開發(fā)多語言項目嗎?說說你的做法尚卫?
- 在使用計算屬性的時归榕,函數(shù)名和data數(shù)據(jù)源中的數(shù)據(jù)可以同名嗎?
- vue中data的屬性可以和methods中的方法同名嗎焕毫?為什么蹲坷?
- 怎么給vue定義全局的方法?
- vue2.0不再支持v-html中使用過濾器了怎么辦邑飒?
- 怎么解決vue打包后靜態(tài)資源圖片失效的問題循签?
- 怎么解決vue動態(tài)設(shè)置img的src不生效的問題?
- 使用vue后怎么針對搜索引擎做SEO優(yōu)化疙咸?
- 跟keep-alive有關(guān)的生命周期是哪些县匠?描述下這些生命周期
- 如果現(xiàn)在讓你從vue/react/angularjs三個中選擇一個,你會選哪個?說說你的理由
- 你知道vue2.0兼容IE哪個版本以上嗎乞旦?
- 使用vue開發(fā)一個todo小應用贼穆,談下你的思路
- 你有看過vue推薦的風格指南嗎?列舉出你知道的幾條
- 你是從vue哪個版本開始用的兰粉?你知道1.x和2.x有什么區(qū)別嗎故痊?
- 你知道vue中key的原理嗎?說說你對它的理解
- vue中怎么重置data玖姑?
- vue渲染模板時怎么保留模板中的HTML注釋呢愕秫?
- Vue.observable你有了解過嗎?說說看
- 你知道style加scoped屬性的用途和原理嗎焰络?
- 你期待vue3.0有什么功能或者改進的地方戴甩?
- vue邊界情況有哪些?
- 如何在子組件中訪問父組件的實例闪彼?
- watch的屬性用箭頭函數(shù)定義結(jié)果會怎么樣甜孤?
- 在vue項目中如果methods的方法用箭頭函數(shù)定義結(jié)果會怎么樣?
- 在vue項目中如何配置favicon畏腕?
- 你有使用過babel-polyfill模塊嗎缴川?主要是用來做什么的?
- 說說你對vue的錯誤處理的了解郊尝?
- 在vue事件中傳入$event二跋,使用e.target和e.currentTarget有什么區(qū)別?
- 在.vue文件中style是必須的嗎流昏?那script是必須的嗎扎即?為什么?
- vue怎么實現(xiàn)強制刷新組件况凉?
- vue自定義事件中父組件怎么接收子組件的多個參數(shù)谚鄙?
- 實際工作中,你總結(jié)的vue最佳實踐有哪些刁绒?
- vue給組件綁定自定義事件無效怎么解決闷营?
- vue的屬性名稱與method的方法名稱一樣時會發(fā)生什么問題?
- vue變量名如果以_知市、$開頭的屬性會發(fā)生什么問題傻盟?怎么訪問到它們的值?
- vue使用v-for遍歷對象時嫂丙,是按什么順序遍歷的娘赴?如何保證順序?
- vue如果想擴展某個現(xiàn)有的組件時跟啤,怎么做呢诽表?
- 說下
$attrs
和$listeners
的使用場景 - 分析下vue項目本地開發(fā)完成后部署到服務器后報404是什么原因呢唉锌?
- v-once的使用場景有哪些?
- 說說你對vue的表單修飾符.lazy的理解
- vue為什么要求組件模板只能有一個根元素竿奏?
- EventBus注冊在全局上時袄简,路由切換時會重復觸發(fā)事件,如何解決呢泛啸?
- 怎么修改vue打包后生成文件路徑绿语?
- 你有使用做過vue與原生app交互嗎?說說vue與ap交互的方法
- 使用vue寫一個tab切換
- vue中什么是遞歸組件候址?舉個例子說明下汞舱?
- 怎么訪問到子組件的實例或者子元素?
- 在子組件中怎么訪問到父組件的實例宗雇?
- 在組件中怎么訪問到根實例?
- 說說你對Object.defineProperty的理解
- vue組件里寫的原生addEventListeners監(jiān)聽事件莹规,要手動去銷毀嗎赔蒲?為什么?
- vue組件里的定時器要怎么銷毀良漱?
- vue組件會在什么時候下被銷毀舞虱?
- 使用vue渲染大量數(shù)據(jù)時應該怎么優(yōu)化?說下你的思路母市!
- 在vue中使用this應該注意哪些問題矾兜?
- 你有使用過JSX嗎?說說你對JSX的理解
- 說說組件的命名規(guī)范
- 怎么配置使vue2.0+支持TypeScript寫法患久?
<template></template>
有什么用椅寺?- vue的is這個特性你有用過嗎?主要用在哪些方面蒋失?
- vue的:class和:style有幾種表示方式返帕?
- 你了解什么是函數(shù)式組件嗎?
- vue怎么改變插入模板的分隔符篙挽?
- 組件中寫name選項有什么作用荆萤?
- 說說你對provide和inject的理解
- 開發(fā)過程中有使用過devtools嗎?
- 說說你對slot的理解有多少铣卡?slot使用場景有哪些链韭?
- 你有使用過動態(tài)組件嗎?說說你對它的理解
- prop驗證的type類型有哪幾種煮落?
- prop是怎么做驗證的敞峭?可以設(shè)置默認值嗎?
- 怎么緩存當前打開的路由組件州邢,緩存后想更新當前組件怎么辦呢儡陨?
- 說說你對vue組件的設(shè)計原則的理解
- 你了解vue的diff算法嗎褪子?
- vue如何優(yōu)化首頁的加載速度?
- vue打包成最終的文件有哪些骗村?
- ajax嫌褪、fetch、axios這三都有什么區(qū)別胚股?
- vue能監(jiān)聽到數(shù)組變化的方法有哪些笼痛?為什么這些方法能監(jiān)聽到呢?
- vue中是如何使用event對象的琅拌?
- vue首頁白屏是什么問題引起的缨伊?如何解決呢?
- 說說你對單向數(shù)據(jù)流和雙向數(shù)據(jù)流的理解
- 移動端ui你用的是哪個ui庫进宝?有遇到過什么問題嗎刻坊?
- 你知道nextTick的原理嗎?
- 說說你對v-clock和v-pre指令的理解
- 寫出你知道的表單修飾符和事件修飾符
- 說說你對proxy的理解
- 你有自己用vue寫過UI組件庫嗎党晋?
- 用vue怎么實現(xiàn)一個換膚的功能谭胚?
- 有在vue中使用過echarts嗎?踩過哪些坑未玻?如何解決的灾而?
- 如果讓你教一個2-3年經(jīng)驗前端經(jīng)驗的同事使用vue,你該怎么教扳剿?
- vue性能的優(yōu)化的方法有哪些旁趟?
- SSR解決了什么問題?有做過SSR嗎庇绽?你是怎么做的锡搜?
- 說說你覺得認為的vue開發(fā)規(guī)范有哪些?
- vue部署上線前需要做哪些準備工作敛劝?
- vue過渡動畫實現(xiàn)的方式有哪些余爆?
- vue在created和mounted這兩個生命周期中請求數(shù)據(jù)有什么區(qū)別呢?
- vue父子組件雙向綁定的方法有哪些夸盟?
- vue怎么獲取DOM節(jié)點蛾方?
- vue項目有做過單元測試嗎?
- vue項目有使用過npm run build --report嗎上陕?
- 如何解決vue打包vendor過大的問題桩砰?
- webpack打包vue速度太慢怎么辦?
- vue在開發(fā)過程中要同時跟N個不同的后端人員聯(lián)調(diào)接口(請求的url不一樣)時你該怎么辦释簿?
- vue要做權(quán)限管理該怎么做亚隅?如果控制到按鈕級別的權(quán)限怎么做?
- 說下你的vue項目的目錄結(jié)構(gòu)庶溶,如果是大型項目你該怎么劃分結(jié)構(gòu)和劃分組件呢煮纵?
- 在移動端使用vue懂鸵,你覺得最佳實踐有哪些?
- 你們項目為什么會選vue而不選擇其它的框架呢行疏?
- 對于即將到來的vue3.0特性你有什么了解的嗎匆光?
- vue開發(fā)過程中你有使用什么輔助工具嗎?
- vue和微信小程序?qū)懛ㄉ嫌惺裁磪^(qū)別酿联?
- 怎么緩存當前的組件终息?緩存后怎么更新?
- 你了解什么是高階組件嗎贞让?可否舉個例子說明下周崭?
- 為什么我們寫組件的時候可以寫在.vue里呢?可以是別的文件名后綴嗎喳张?
- vue-loader是什么续镇?它有什么作用?
- 說說你對vue的extend(構(gòu)造器)的理解销部,它主要是用來做什么的磨取?
- 如果將axios異步請求同步化處理?
- 怎么捕獲組件vue的錯誤信息柴墩?
- 為什么vue使用異步更新組件?
- 如何實現(xiàn)一個虛擬DOM凫岖?說說你的思路
- 寫出多種定義組件模板的方法
- SPA單頁面的實現(xiàn)方式有哪些江咳?
- 說說你對SPA單頁面的理解,它的優(yōu)缺點分別是什么哥放?
- 說說你都用vue做過哪些類型的項目歼指?
- 在vue項目中如何引入第三方庫(比如jQuery)?有哪些方法可以做到甥雕?
- 使用vue手寫一個過濾器
- 你有使用過render函數(shù)嗎踩身?有什么好處?
- 寫出你常用的指令有哪些社露?
- 手寫一個自定義指令及寫出如何調(diào)用
- 組件進來請求接口時你是放在哪個生命周期挟阻?為什么?
- 你有用過事件總線(EventBus)嗎峭弟?說說你的理解
- 說說vue的優(yōu)缺點分別是什么附鸽?
- DOM渲染在哪個周期中就已經(jīng)完成了?
- 第一次加載頁面時會觸發(fā)哪幾個鉤子瞒瘸?
- vue生命周期總共有幾個階段坷备?
- vue生命周期的作用是什么?
- vue和angular有什么區(qū)別呢情臭?
- 如何引入scss省撑?引入后如何使用赌蔑?
- 使用vue開發(fā)過程你是怎么做接口管理的?
- 為何官方推薦使用axios而不用vue-resource竟秫?
- 你了解axios的原理嗎娃惯?有看過它的源碼嗎?
- 你有封裝過axios嗎鸿摇?主要是封裝哪方面的石景?
- 如何中斷axios的請求?
- axios是什么拙吉?怎樣使用它潮孽?怎么解決跨域的問題?
- 說說你對vue的template編譯的理解筷黔?
- v-on可以綁定多個方法嗎往史?
- vue常用的修飾符有哪些?列舉并說明
- 你認為vue的核心是什么佛舱?
- v-model是什么椎例?有什么用呢?
- 說說你對vue的mixin的理解请祖,有什么應用場景订歪?
- SPA首屏加載速度慢的怎么解決?
- 刪除數(shù)組用delete和Vue.delete有什么區(qū)別肆捕?
- 動態(tài)給vue的data添加一個新的屬性時會發(fā)生什么刷晋?怎樣解決?
- 組件和插件有什么區(qū)別慎陵?
- 說說你使用vue過程中遇到的問題(坑)有哪些眼虱,你是怎么解決的?
- 說說你對選項el,template,render的理解
- vue實例掛載的過程是什么席纽?
- vue在組件中引入插件的方法有哪些捏悬?
- v-if和v-for的優(yōu)先級是什么?如果這兩個同時出現(xiàn)時润梯,那應該怎么優(yōu)化才能得到更好的性能过牙?
- 分別說說vue能監(jiān)聽到數(shù)組或?qū)ο笞兓膱鼍埃€有哪些場景是監(jiān)聽不到的纺铭?無法監(jiān)聽時有什么解決方案抒和?
- $nextTick有什么作用?
- 為什么data屬性必須聲明為返回一個初始數(shù)據(jù)對應的函數(shù)呢彤蔽?
- 怎么在watch監(jiān)聽開始之后立即被調(diào)用摧莽?
- watch怎么深度監(jiān)聽對象變化?
- watch和計算屬性有什么區(qū)別顿痪?
- vue如何監(jiān)聽鍵盤事件镊辕?
- v-for循環(huán)中key有什么作用油够?
- 怎么在vue中使用插件?
- 你有寫過自定義組件嗎征懈?
- 說說你對keep-alive的理解是什么石咬?
- 怎么使css樣式只在當前組件中生效?
- 你有看過vue的源碼嗎卖哎?如果有那就說說看
- 你有寫過自定義指令嗎鬼悠?自定義指令的生命周期(鉤子函數(shù))有哪些?
- v-show和v-if有什么區(qū)別亏娜?使用場景分別是什么焕窝?
- 說說你對MVC、MVP维贺、MVVM模式的理解
- 說下你對指令的理解它掂?
- 請描述下vue的生命周期是什么?
- vue組件之間的通信都有哪些溯泣?
- 什么是虛擬DOM虐秋?
- 什么是雙向綁定?原理是什么垃沦?
- vue和react有什么不同客给?使用場景是什么?
- 說說vue的優(yōu)缺點
- 有使用過vue嗎肢簿?說說你對vue的理解
vue-cli
- vue-cli提供了的哪幾種腳手架模板起愈?
- vue-cli工程中常用的npm命令有哪些?
- 在使用vue-cli開發(fā)vue項目時译仗,自動刷新頁面的原理你了解嗎?
- vue-cli3插件有寫過嗎官觅?怎么寫一個代碼生成插件纵菌?
- vue-cli生成的項目可以使用es6、es7的語法嗎休涤?為什么咱圆?
- vue-cli怎么解決跨域的問題?
- vue-cli中你經(jīng)常的加載器有哪些功氨?
- 你知道什么是腳手架嗎序苏?
- 說下你了解的vue-cli原理?你可以自己實現(xiàn)個類vue-cli嗎捷凄?
- 怎么使用vue-cli3創(chuàng)建一個項目忱详?
- vue-cli3你有使用過嗎?它和2.x版本有什么區(qū)別跺涤?
- vue-cli默認是單頁面的匈睁,那要弄成多頁面該怎么辦呢监透?
- 不用vue-cli,你自己有搭建過vue的開發(fā)環(huán)境嗎航唆?流程是什么胀蛮?
vue-router
- vue-router怎么重定向頁面?
- vue-router怎么配置404頁面糯钙?
- 切換路由時粪狼,需要保存草稿的功能,怎么實現(xiàn)呢任岸?
- vue-router路由有幾種模式再榄?說說它們的區(qū)別?
- vue-router有哪幾種導航鉤子( 導航守衛(wèi) )演闭?
- 說說你對router-link的了解
- vue-router如何響應路由參數(shù)的變化不跟?
- 你有看過vue-router的源碼嗎?說說看
- 切換到新路由時米碰,頁面要滾動到頂部或保持原先的滾動位置怎么做呢窝革?
- 在什么場景下會用到嵌套路由?
- 如何獲取路由傳過來的參數(shù)吕座?
- 說說active-class是哪個組件的屬性虐译?
- 在vue組件中怎么獲取到當前的路由信息?
- vur-router怎么重定向吴趴?
- 怎樣動態(tài)加載路由漆诽?
- 怎么實現(xiàn)路由懶加載呢?
- 如果讓你從零開始寫一個vue路由锣枝,說說你的思路
- 說說vue-router完整的導航解析流程是什么厢拭?
- 路由之間是怎么跳轉(zhuǎn)的?有哪些方式撇叁?
- 如果vue-router使用history模式供鸠,部署時要注意什么?
- route和router有什么區(qū)別陨闹?
- vue-router鉤子函數(shù)有哪些楞捂?都有哪些參數(shù)?
- vue-router是用來做什么的趋厉?它有哪些組件寨闹?
vuex
- 你有寫過vuex中store的插件嗎?
- 你有使用過vuex的module嗎君账?主要是在什么場景下使用繁堡?
- vuex中actions和mutations有什么區(qū)別?
- vuex使用actions時不支持多參數(shù)傳遞怎么辦?
- 你覺得vuex有什么缺點帖蔓?
- 你覺得要是不用vuex的話會帶來哪些問題矮瘟?
- vuex怎么知道state是通過mutation修改還是外部直接修改的?
- 請求數(shù)據(jù)是寫在組件的methods中還是在vuex的action中塑娇?
- 怎么監(jiān)聽vuex數(shù)據(jù)的變化澈侠?
- vuex的action和mutation的特性是什么?有什么區(qū)別埋酬?
- 頁面刷新后vuex的state數(shù)據(jù)丟失怎么解決哨啃?
- vuex的state、getter写妥、mutation拳球、action、module特性分別是什么珍特?
- vuex的store有幾個屬性值祝峻?分別講講它們的作用是什么凭疮?
- 你理解的vuex是什么呢饰迹?哪些場景會用到?不用會有問題嗎勤庐?有哪些特性嗜桌?
- 使用vuex的優(yōu)勢是什么奥溺?
- 有用過vuex嗎?它主要解決的是什么問題骨宠?推薦在哪些場景用浮定?
ElementUI
- 使用Element UI表格如何設(shè)置列寬的寬度自適應?
- Element UI的表格层亿,點擊編輯跳轉(zhuǎn)到編輯頁面桦卒,編輯完成返回到列表頁面,還返回到原分頁列表
- 使用elementUI的表格組件時匿又,在有多頁的情況下方灾,多選框如何跨頁選擇?
- ElementUI是怎么做表單驗證的琳省?在循環(huán)里對每個input驗證怎么做呢?
- 你有二次封裝過ElementUI組件嗎躲撰?
- ElementUI怎么修改組件的默認樣式针贬?
- ElementUI的穿梭組件如果數(shù)據(jù)量大會變卡怎么解決不卡的問題呢?
- ElementUI表格組件如何實現(xiàn)動態(tài)表頭拢蛋?
- ElementUI使用表格組件時有遇到過問題嗎桦他?
- 有閱讀過ElementUI的源碼嗎?
- 項目中有使用過ElementUI嗎?有遇到過哪些問題快压?它的使用場景主要是哪些圆仔?
- 有用過哪些vue的ui?說說它們的優(yōu)缺點蔫劣?