工程師的自我成長

-

前端 Junior 該如何準備一場面試?七大步驟帶你完整規劃面試過程。

this.web

當完兵的我,是如何準備第一場面試的

對前端工程師而言,面試是一個很好證明能力的機會,如何展示專案、如何有效溝通,如何證明自己潛力和能力,如何讓公司覺得你有能力勝任,都是面試很重要的環節。

如果你有面試方面的問題,剛好我前陣子退伍完有面試要進行,趁著這個機會來分享一個前端 Junior 可以如何準備面試。

我把準備面試分成七個部分:

  1. 前端基礎知識
  2. 演算法
  3. 專案展示
  4. 專案問題 & 解決方法
  5. 常見面試問題
  6. 問公司的問題
  7. 心態調整

前端基礎知識、面試題目

要先把基本的 HTML、CSS、JS 以及你使用的框架知識準備好,除了知識,也要準備一些常見的前端面試題目,例如:

  1. HTML:HTML 語意化、div 和 span 的差別、data-* 用法、cookies 和 session 等等
  2. CSS:flex 和 grid、置中的方式、inline 和 block、position 用法 等等
  3. JavaScript:型別、IIFE、閉包、this 指向、Promise、async/await 等等
  4. React:state、props、effect、event、context 等觀念,以及新的 Hook 和 API。
  5. Next:App router 和 Page router,優化、fetching data 等等

我面試前把我寫的 JS 文章看過一遍當複習,之前我寫過一系列的 JS 觀念很推薦看看。

這邊也推薦 explainthis 的網站文章,上面有很多重要的前端面試題和觀念。

演算法

對於 JR 來說,演算法可能不是面試最重要的部分,但仍建議把基礎的觀念搞熟,陣列、字串、stack、queue、map、linkedlist,以及物件和類別的觀念用法。

我自己針對上述提到的資結各刷了幾題 leetcode easy 的題目,最少要讓自己在面試時,可以講出一些想法或思路。

這邊也推薦幾個我覺得很不錯的資源:

  1. 代碼隨想錄:我在剛學資料結構和演算法時看的網站,裡面有很詳細的介紹觀念,也會帶你刷經典重要題,而且有超多語言的解答。唯一的缺點應該是名詞的用法是大陸的,不過仍然很推薦!
  2. AlgoJS:專門講演算法題目的 YT,一個影片不用幾分鐘,適合無聊看看
  3. Hogan github:也推薦 Hogan 刷題解答,卡關的時候可以參考看看。

專案展示

展示自己的專案是面試很重要的部分,建議選擇和公司使用技術、產品相關的專案和面試作品來展示,一方面可以讓公司相信你進公司後不會花太多時間熟悉技術,另一方面也可以有更多話題和主管討論。

如果可以,一定要確保有部署好,隨時可以線上直接測試、展示,並且寫好 README,包括但不限於:

  1. 專案的基本描述,簡介、動機、解決什麼問題等等都可以寫上
  2. 使用的技術,框架、狀態管理、UI、動畫庫、工具庫等等
  3. 專案的特色、功能
  4. 專案架構、製作的思路
  5. 未來想優化、開發的方向或功能

面試時也可以針對以上五個方向簡單介紹,讓主管快速了解你的能力。

⚠️ 注意

  1. 面試前建議把想展示的專案或面試作品開好,節省時間。
  2. 確保自己能回答寫上的技術、工具的基本用法和觀念,如果沒把握回答乾脆不要寫比較好。

專案問題 & 解決方法

除了展示專案,也要事先把製作專案時遇到的問題、解決方法準備好,通常公司會好奇你遇過的問題以及解決思路。

這裡可能會遇到兩個狀況:

  1. 遇到的問題還未解決或暫時解決不了
  2. 沒有遇到甚麼太大的問題

如果是第一種狀況,建議要先思考解決的思路,面試時可以和主管誠實說還未解決,但覺得可以 … (怎麼解決),並和對方討論。

而第二種狀況,可以思考專案未來可以有哪些方向、功能、優化可以加強,並且一樣準備製作的思路。

這個部分是很好展現你解決問題的能力,也是和對方主管討論的好機會,建議一定要好好準備。

常見面試的問題

通常除了技術上的問題,公司也會問一些比較個人的問題。例如

  • 自我介紹
  • 為甚麼想來我們公司
  • 你覺得能為公司帶來甚麼貢獻
  • 你喜歡什麼樣的工作環境
  • 你未來規劃是什麼
  • 你覺得你有那些缺點、不足嗎
  • 過去有什麼合作經驗

等等 …

這個部分可以參考 cakeResume 的很多有關面試的資源文章。

問公司的問題

問對方問題也是非常重要的環節,在面試前可以先研究以下幾點:

  1. 公司官網
  2. 團隊成員的領英
  3. 公司產品 (最好可以試用一下)
  4. 部落格文章

問問題時,除了公司文化、福利待遇問題以外,也建議抱著好奇心和對方聊聊天,例如公司未來的規劃、產品的發展、技術的選擇、如何管理專案、團隊等等,都是可以問的問題。

一方面不但能表明對職位的興趣,也可以展現你是在乎公司的發展和文化的。

心態調整

最後面試前,我會調整以下兩點心態

  1. 面試是雙向選擇的過程,公司在挑你,你也在挑公司,所以要把握能互動的機會,多多了解對方。
  2. 沒有完美的人,不可能所有問題都準備到 100 分,遇到不會的問題可以很直接地承認並請教對方,展現學習、溝通的一面

小結:

以上是我準備面試的架構,如果你還在猶豫該怎麼準備面試,現在就拿起筆,寫下這七大點去一一準備吧!希望能夠給你一個方向規劃~

其實面試就像一場戰爭,除了自身的實力以外,你還要去了解對手(公司),找到它們的弱點 (需要的人才),並且認清自己的優勢,以此來制定策略,才能夠打勝戰爭。

最後祝大家面試順利,找到心儀的工作 ~!那老樣子,下篇貼文見了喔!

相關系列文章