tft每日頭條

 > 圖文

 > 關于vue原理的面試題

關于vue原理的面試題

圖文 更新时间:2025-04-05 13:08:10

關于vue原理的面試題(他寫出了Vue卻做不對這十道)1

請原諒我起了這麼個濃濃營銷号味道的标題。但這可絲毫沒有誇大宣傳,而是前端娛樂圈今日份的瓜——

有十道關于 Vue 的選擇題,在群裡引出了一衆社區知名人士競折腰,最後釣出了 Evan You 本人親自挑戰……

然後他自己也做錯了(其中的某兩道)。

魯迅會做錯魯迅文選的閱讀理解?有截圖為證:

關于vue原理的面試題(他寫出了Vue卻做不對這十道)2

所以,隻要答對這十道題裡的九道以上,你就實打實地(在做題這個維度上)超越了尤大,比他更懂 Vue 了噢!是不是很心動?

其實要求都不用這麼高,隻要做對六七道,就已經可以吊打一群小有名氣的社區選手了。

1. Vue 實例的 data 屬性,可以在哪些生命周期中獲取到? A. beforeCreate B. created C. beforeMount D. mounted 2. 下列對 Vue 原理的叙述,哪些是正确的? A. Vue 中的數組變更通知,通過攔截數組操作方法而實現 B. 編譯器目标是創建渲染函數,渲染函數執行後将得到 VNode 樹 C. 組件内 data 發生變化時會通知其對應 watcher,執行異步更新 D. patching 算法首先進行同層級比較,可能執行的操作是節點的增加、删除和更新 3. 對于 Vue 中響應式數據原理的說法,下列哪項是不正确的? A. 采用數據劫持方式,即 Object.defineProperty() 劫持 data 中各屬性,實現響應式數據 B. 視圖中的變化會通過 watcher 更新 data 中的數據 C. 若 data 中某屬性多次發生變化,watcher 僅會進入更新隊列一次 D. 通過編譯過程進行依賴收集 4. 下列說法不正确的是哪項? A. key 的作用主要是為了高效地更新虛拟 DOM B. 若指定了組件的 template 選項,render 函數不會執行 C. 使用 vm.$nextTick 可以确保獲得 DOM 異步更新的結果 D. 若沒有 el 選項,vm.$mount(dom) 可将 Vue 實例挂載于指定元素上 5. 下列關于 Vuex 的描述,不正确的是哪項? A. Vuex 通過 Vue 實現響應式狀态,因此隻能用于 Vue B. Vuex 是一個狀态管理模式 C. Vuex 主要用于多視圖間狀态全局共享與管理 D. 在 Vuex 中改變狀态,可以通過 mutations 和 actions 6. 關于 Vue 組件間的參數傳遞,下列哪項是不正确的? A. 若子組件給父組件傳值,可使用 $emit 方法 B. 祖孫組件之間可以使用 provide 和 inject 方式跨層級相互傳值 C. 若子組件使用 $emit('say') 派發事件,父組件可使用 @say 監聽 D. 若父組件給子組件傳值,子組件可通過 props 接受數據 7. 下列關于 vue-router 的描述,不正确的是哪項? A. vue-router 的常用模式有 hash 和 history 兩種 B. 可通過 addRoutes 方法動态添加路由 C. 可通過 beforeEnter 對單個組件進行路由守衛 D. vue-router 借助 Vue 實現響應式的路由,因此隻能用于 Vue 8. 下列說法不正确的是哪項? A. 可通過 this.$parent 查找當前組件的父組件 B. 可使用 this.$refs 查找命名子組件 C. 可使用 this.$children 按順序查找當前組件的直接子組件 D. 可使用 $root 查找根組件,并可配合 children 遍曆全部組件 9. 下列關于 v-model 的說法,哪項是不正确的? A. v-model 能實現雙向綁定 B. v-model 本質上是語法糖,它負責監聽用戶的輸入事件以更新數據 C. v-model 是内置指令,不能用在自定義組件上 D. 對 input 使用 v-model,實際上是指定其 :value 和 :input 10. 關于 Vue 的生命周期,下列哪項是不正确的? A. DOM 渲染在 mounted 中就已經完成了 B. Vue 實例從創建到銷毀的過程,就是生命周期 C. created 表示完成數據觀測、屬性和方法的運算和初始化事件,此時 $el 屬性還未顯示出來 D. 頁面首次加載過程中,會依次觸發 beforeCreate,created,beforeMount,mounted,beforeUpdate,updated

明碼标價,童叟無欺!做對九題即可成為前端懂王,比 Evan 懂,更比他們懂:

  • TC39 的 @賀師俊 50 分,他是不是走後門送禮金的 TC39 啊?
  • Vue Core Team 的 @胖茶 40 分,可能說明帶他的 mentor 不懂 Vue?不過他第二次做就拿了 90 分……這很贅婿逆襲啊。
  • 搞 React lite 的 @工業局 做了兩次,第一次 50 分第二次 30 分。怪不得他最近這麼低調,看來是越來越做不動題了。
  • 久仰的白學家程序媛 @敖天羽 第一次拿了 60 分,然後锲而不舍(沒有靈魂)地刷到了 100 分。這種精益求精的态度值得贊賞。
  • 我(純屬厚臉皮湊數)60 分。

好在拜天哥所賜,我們還是刷出了「權威的」參考答案,請查收:

1. BCD

2. ABCD

3. BD

4. B

5. C

6. B

7. C

8. C

9. C

10. D

對照參考答案,尤大還進行了認真的複盤反省,查缺補漏:

關于vue原理的面試題(他寫出了Vue卻做不對這十道)3

唉,身為 Vue 的作者,居然連 Vue 的原理都沒有搞清楚,實在太不應該了。應該讓出題人好好教育一下他,幫他分析一下 Vue 的源碼,教他怎麼通過筆試面試,趁現在金九銀十找份 P6 的好工作。工作以後也要記得充電,沒事多關注一下掘金,學一學 Vue 3.0 的視頻教程(狗頭)。

所以按照今天的掘金體,本文完全可以起這麼個标題:《一步登天!答對這十道 Vue 題,你就能超越尤雨溪,傲視前端群雄!》

——但這不是很荒唐嗎?

如果一個人某道題沒答對,就能證明他不懂 Vue 了嗎?

關于vue原理的面試題(他寫出了Vue卻做不對這十道)4

看看這些題,它們能準确反映答題者的水平嗎?使用它們作為考察依據時,這兩種情況都再常見不過了:

  • 假陽性 - 隻會背題庫的做題家也能混到好 offer。
  • 假陰性 - 公認的資深人士無法體現出優勢。

這裡不會去展開讨論具體哪題應該選什麼,因為這早已不是這幾道題的問題,而是國内整個「造火箭、擰螺絲」式面試文化的問題了。你看身為 Redux 作者的 Dan 就很樂意告訴你:「我其實不懂很多東西,這沒有什麼關系」。而今天的例子裡,我們則收集到了更多國内一線的業界玩家們坦誠地告訴你:「這些題我也不會,這沒有什麼關系」——畢竟他們的核心競争力,可都不是做題呀。

并不是否認這些題目對初學者有一定的幫助作用。然而實際上,越是高級和資深的崗位,需要的越不是做題,而是對開放性(技術與非技術)問題的 Problem Solving 技能:

  • 應該怎樣在框架設計上有所突破?
  • 應該怎樣在幾個性能指标間取舍平衡?
  • 應該怎樣靠自己的開源項目盈利?
  • 應該怎樣帶領團隊設定計劃,完成目标?

你當然可以逃避這些「靈魂的拷問」,一直靠研究(或制造)那些已經被翻來覆去解答過無數遍的題來「磨練水平」。但無可否認的是,正是靠一群不停迎接真實世界挑戰,持續解決開放問題的人們,才創造了今天業界繁榮生态的輝煌。

做題對于鍛煉思維當然重要,但它終歸隻是個跳闆,不要把應試教育的思維套用在職業生涯上。比做題更有價值的,最終一定還是去做事——

  • 去業界前沿,去落地靈感!
  • 去參與社區,去貢獻代碼!
  • 去解決問題,去把手弄髒!

相比之下,十道咬文嚼字的題裡對了幾道錯了幾道,又有什麼關系呢?

做題不至于誤國,但一定是實幹才能興邦。

文中幾位參與者的分數,公開前均征求過本人同意。希望不要因此誤解他們的真實水平 :D

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved