Hey 大家好,我叫 Eric。我時常會寫有關前端工程和職業發展的內容。許多人在前端領域中感到迷失,不知道如何進步,我希望這篇電子報能對你有所幫助。
不曉得是不是因為夏天的關係或是許多學生即將畢業,找工作或是尋求推薦的人最近變好多,這篇想聊聊我遇到的前端工程師面試三個比較常見的 coding interview,雖然是前端但其他領域的可能也是類似的 pattern。
很多人常常問說,「我們還需要做 Leetcode 嗎?」我的回答是肯定的,但我並不是說你需要在面試前完成 500 道題。寫 Leetcode 可以訓練你的大腦以特定的方式思考,這有助於解決問題。即使問題是關於構建 UI,練習 Leetcode 也能幫助你更優化地定義狀態。你可以先寫寫看 Blind 75 這裡面涵蓋了很多主題從中挑了幾個比較有指標性的題目。
從我的個人經驗來看,你應該熟悉 Map 和 Array,並且不怕使用 recursion 來解決問題。大多數可以用循環或迭代方法解決的問題,也可以用 recursion 來解決而且效果更好。Big O 也最好了解一下,有時候面試官會想要你解釋你寫的 algorithm 的複雜度。
作為前端工程師,你會獲取數據並構建組件以在屏幕上渲染。你通常會得到一個簡單的 UI mockup,並嘗試使用你熟悉的框架來構建它。你也可能只會得到一個題目,需要在開始構建前提出問題並澄清需求。我曾經被問過的一些問題包括:
你會被要求解釋如何處理狀態以及如何優化渲染性能。
有些公司可能會選擇給面試者 assessment而不是安排一個面試。甚至有些公司以進行這類面試為商業模式。這與面試的主要區別在於,你在 coding 時候沒有人在旁邊看,這些作業往往更接近於你的工作內容。我知道有些人不喜歡這種方式,可能會因此取消面試。但我個人更喜歡這種方式測試我的技能,因為我覺得我可以更準確地展示我的能力。我曾被要求的一些示例問題包括:
有些公司可能會要求你把這看作一個真正的 project,所以確保你已經包含或至少計劃包含測試、一些架構、組件分離等。想像這是一個更複雜的項目,你需要將其部署到 production。你會在這個 project 中做什麼?
有什麼想跟我說的歡迎私訊問我 😄
也歡迎 follow 我的 Twitter 或 Threads 也加入我們的 Discord 和其他人一起在前端工程領域成長!