那些在前端面試上常見的考題

雖然說自己的面試經驗十根手指頭數得出來,不過以自身的經驗再加上別人的分享,腦海裡就有了這份前端面試必考題清單,再加上自己越來越金魚腦了,於是萌生了整理這些題目的念頭,順便把那些我覺得把觀念解釋的很清楚的文章也放在最後,方便臨時抱佛腳(誤

以下只會列出技術考題 ,behavioral questions 不在本次的範疇

考到爛的題目區:

  • 請描述輸入網址後到顯示網頁中間會發生甚麼事(幾乎每間都會問)
  • Promise
  • prototype
  • event loop
  • hoisting
  • closure
  • this
  • SPA、SSR

常見題目區:

  • 如何優化 SEO? (很意外幾乎每間都會問
  • 如何優化網頁載入速度?
  • mvc 和 mvvm 的差別
  • 何謂 cors? 該如何解決?
  • 深拷貝和淺拷貝的差異?如果不依賴套件如何做到深拷貝?
  • vue 和 React 差異在哪? (應該是有雙棲經驗才會被問這題)
  • 使用 SASS/SCSS 的優點 (如果用 tailwind 開發的公司應該不會問這題 XD)
  • 簡述對 box-model 的理解
  • 請解釋 restful api

不常見但有遇過的問題區:

  • git 的 rebase 作用為何?
  • 箭頭函式與一般函式的差異
  • localstorage、session localstorage、cookie 差別在哪?
  • 請說明 git flow
  • 前端在資安這塊可以怎麼防範攻擊?
  • Debounce 和 Throttle 的差異為何?
  • 事件的冒泡與捕捉
  • defer 和 async 的差別?
  • var、let、const 差異
  • 排序演算法

因為我的面試樣本數並不多,所以上述題目的分類大家做個參考即可,每間公司習慣考的內容都不盡相同,必須說前端的考試很多元,就我遇過的測驗有:面試前要做出一個復刻官網或是有時間限制的做 Online Assessment、現場筆試、口頭問答、 live coding 等等,整體而言我覺得 live coding 和口頭問答難度最高,這兩個都需要不斷的跟面試官腦力激盪,通常都是一個小時到兩個小時,每次面試完都覺得精疲力盡 😂

當初菜逼八的我完全搞不懂為什麼要考這些題目,不會這些感覺也沒什麼差不是嗎?直到工作一陣子之後會開始遇到一些瓶頸,會覺得自己好像卡在某個地方上不去了,才意識到自己對底層運作原理真的很不熟,於是決定慢慢的把這些知識點補齊,面試雖然真的壓力很大,但也同時幫助自己釐清還有哪些觀念不清楚,也能訓練如何清楚的表達自己所理解的內容,總而言之,我覺得要讓自己能夠從容不迫的面試,是需要經驗的累積和一點一滴的努力,期許自己有一天能夠行雲流水的應對各種題目!(應該還要很久以後  …

最後推薦大家有事沒事可以去 huli 大大的部落格看看,裡面有非常多的乾貨!

該來理解 JavaScript 的原型鍊了

我知道你懂 hoisting,可是你了解到多深?

所有的函式都是閉包:談 JS 中的作用域與 Closure

淺談 JavaScript 頭號難題 this:絕對不完整,但保證好懂

跟著小明一起搞懂技術名詞:MVC、SPA 與 SSR

DOM 的事件傳遞機制:捕獲與冒泡

CORS 完全手冊(一):為什麼會發生 CORS 錯誤?