<aside> 💡 如果你看完解答後,想進一步瞭解每題的詳細解題思路,可以訂閱 ExplainThis 的 E+ 成長計畫。在 E+ 當中,我們有收錄更多常見的題目,並且每一題除了解答,還有附上詳細的思路分析。此外,E+ 有討論專區,任何不懂的問題都可以提問,獲得進一步的解說。

👇 可以在以下網址了解 E+ 成長計畫 **https://www.explainthis.io/zh-hant/e-plus**

👇 更多免費的前端學習資源,可以在 ExplainThis 網站上看到

**https://explainthis.io/**

👇 若想練習更多前端手寫題,我們推薦 GreatFrontEnd **https://www.greatfrontend.com/prepare/coding?fpr=explainthis**

</aside>

在前端工程師的面試中,許多時候不會考傳統資料結構演算法的程式問題,而是會考前端手寫題。所謂的前端手寫題,是要請候選人,去自己寫出一些在前端開發時會用到的函式。

舉例來說,最常見的是 Lodash 套件中很常會用到的,從簡單的 chunk 函式,到有比較多細節要考慮的 cloneDeep 函式,都是經常會考的。另外許多 JavaScript 目前已經有原生支持的方法,例如 Promise.all 也是很常會出現的。

對比起資料結構與演算法白板題,前端手寫題在考的,更貼近實際工作會運用到的概念。有些題目會用到閉包 (closure),有些會用到遞迴 (recursion),也有些會用到 JavaScript 中各種常見的 Promise、SetTimeout、class 等概念。

ExplainThis 彙整了常見的前端手寫,並按照類別與難易程度做區分。除了收錄 LeetCode 上的 30 天 JavaScript 手寫題挑戰外,我們還另外彙整了 20 題常考的題目,總共 50 題,讓大家為面試做好充足的準備。

每題除了有題目外,也有附上解答。因為 50 題的內容比較長,我們分成上與下兩個文件。可以點擊以下個文件,前往練習 (備註:如果你本身有用 Notion, 可以直接複製下方這兩個文件到自己的 Notion,就可以自行編輯、做筆記。)

50 題前端程式題大補帖 (上)

50 題前端手寫題大補帖 (下)

以下為六大類,共 50 題的題目,每題的詳細描述與解答,Part 1 到 Part 2 共 28 題收錄在 50 題前端程式題大補帖 (上) ,而 Part 3 到 Part 6 共 22 題收錄在 50 題前端手寫題大補帖 (下)

<aside> 🔹 Part 1 - Lodash 手寫題


<aside> 🔹 Part 2 - 陣列 (Array)