職場觀察室

前端、後端工程師面試會問什麼?幫你統整工程師面試 4 步驟實戰懶人包!

2021年更新

畢業季來臨,新鮮人想要成為工程師?又或者工程師是你的下一個轉職目標?

畢業季許多第一次踏入職場的畢業生,都會迎接人生最密集的「面試」期。
「面試」是無論想要從事什麼工作都需要打開的一扇大門,然而,如同很多即將畢業的同學,想當工程師的你,還不是很確定會一點點程式語言可以去面試嗎?前端、後端面試問題到底有什麼差別?迷茫又慌張的內心,看著通往未知的道路,瑟瑟發抖。

究竟什麼是打開工程師職位的最佳鑰匙呢?這篇文章將會從工程師薪水前端及後端工程師面試常見問題累積個人作品集的方法以及面試技巧 4 個步驟,帶你一步步戰勝面試恐懼,快一起來看看工程師面試的武功秘笈!

工程師的平均薪資

依照人力銀資料統計,新鮮人工程師的平均薪資(月薪),應座落在 NTD 36,396~41,424 這一區間;而資深的工程師平均薪資(月薪),則座落在 NTD 44,792~50,532 之間。

工程師面試常見問題

前段工程師在面試過程中,面臨到的問題大致可分為 3 大類:協作問題實作或概念問題

協作問題

協作問題通常會根據你在過往的社團、專案經驗中,得知你在團隊合作中會如何應對各種狀況,以及解決問題的態度。

  1. 在團隊中遇到不合理的要求該如何解決?
  2. 團隊成員有人擺爛,該如何處理?
  3. 曾經遇過最有挑戰的專案是什麼?你在其中的角色為何?
  4. 過去最帶給你成就感的經驗是什麼?
  5. 跟同事意見相左時,該如何解決?

實作或概念問題

前端工程師

  1. 請就你的理解說明 Reacr/ Vue/ Angula 是什麼?他們之間的差別為何?
  2. :before 跟 :after 用途是什麼?
  3. JavaScript 的 hoisting 是什麼?
  4. JavaScript 中非同步與同步操作混用時的輸出順序為何?
  5. JavaScript 中 promise 和 async await 要解決什麼問題?
  6. React Key 的用途是什麼?
  7. React Redux 要解決什麼問題?
  8. Cookie、localStorage、sessionStorage 的差別是什麼?
  9. 有哪些 HTTP Merhods?
  10. PUT 和 PATCH 兩者差別?
  11. 請分享你目前最關注的 Web 技術
  12. 請分享你喜好的開發環境
  13. 請說明你開發一個網站的工作流程
  14. 請舉三種能加快網頁讀取速度的方法
  15. 請分享你使用何種工具來測試程式碼效能

後端工程師

  1. 有用過什麼後端 Framework?
  2. HTTP/ WebSocket/ Socket 是什麼?之間的差別為何?
  3. 用過什麼資料庫(SQL 或 NoSQL)?
  4. 比較 SQL v.s. NoSQL 優缺點
  5. 用 ORM 的優缺點是什麼?
  6. Hashtree 及 Hashmap 的差異
  7. 不用很多記憶體情況下,資料庫裡一個單方向linked list 要怎麼樣找出重複節點?
  8. TCP 該如何做流量控制
  9. C thread 怎麼運作?
  10. 3 handshake/ 4 handshake 是什麼?
  11. 用過什麼雲端?有用過其中的哪些服務?
  12. 試說明反向代理器

累積個人作品的 7 種方法

前端工程師

  1. 參考常見的練習作品
    像是 To-Do List、留言板、部落格、一頁式 Landing Page 都是很好的練習作品。
  2. 模仿自己常用的網站
    像是 FaceBook、Youtube 或各種購物網站等,從切版練習模仿,好處是連功能與設計都可以直接參考,你也可以挑一些有興趣的核心功能做。
  3. 買書或找自學課程
    如果因為網路資訊太零散而沒有方向,也能直接買書參考其中範例,或直接參加自學課程。
  4. 解決你的生活問題
    生活中有沒有「重複在做」或是「很麻煩」的問題,而且這些問題會讓你覺得「用程式解更快」。
    那這就是一個 Side Project,像是寫個小工具或寫成指令檔。
  5. 寫技術部落格
    技術部落格也是 Side Project 的一種,也能展現出你對於技術的熱忱,與學習過程中的邏輯思考。
  6. 參加黑客松參賽作品
    這是一種強制幫自己產生動力,去腦力激盪產出一個作品的方法。
  7. 在學專題與工作專案
    無論是在學專題或是工作專案,都要先確認是否可公開使用。若有違法的可能性,平時就多找機會經營其他的 Side Project。

後端工程師

可以依照不同的核心能力方向準備不同的作品集,力求證明自身有「後端開發的能力」展現自身的學習熱忱。

通常面試官會看的部分有以下幾點:

  1. 代碼是否簡潔易懂?
    代碼是否易讀,且可以清楚地回答得出來書寫邏輯與脈絡。若是連自己都沒辦法好好解釋自己打出來的東西,其他人又怎麼能知道呢?
  2. 代碼是否經的起測試?
    作品集中有測試自己書寫的程式,除了展現書寫測試的能力,也可以確保這個代碼符合需求得以運作。

這邊也提供幾個後端作品集的主題提供給大家參考:

  1. Web API 設計與開發
  2. 資料庫串連與設計
  3. 串連 3rd-Party API
想知道這幾個主題的細項內容,可以參考文章:
【轉職必看】面試後端工程師,我該準備什麼作品集?

面試技巧

一、了解自身履歷

會進入到面試階段,肯定是因為履歷達到了公司的最低門檻,然而當履歷投出去之後你還會再看看上面的內容嗎?記得千萬要在面試前再次熟悉履歷上的各個經驗與專案

你可能會想:「我自己寫的、做的,難道我還會忘記嗎?」

自身的經歷或許不會望得一乾二凈,然而不熟悉卻會大大降低履歷的可信度,也會使自身敘述時的自信減少。在面試前複習履歷,並且將個人經歷與自身收穫做結合,更能讓面試官印象深刻!

二、工作不再只是學習

雖然俗話說:「活到老,學到老」然而,工作已不再是校園那樣純粹的學習環境,比起抱著「虛心受教」的心態,以「解決問題」的態度來處事,會更加適合!

企業同樣會希望找來問題的解決者,為公司解決問題,而並非只是單純來學習的學生。在面試中展現這樣的態度,絕對可以讓你大加分!

三、沒有「我不會」

在面試的過程中,請避免單純的回答:「我不知道」、「我不會」。

當然世界上沒有人是什麼都知道的,那麼遇到答不出來的問題該怎麼辦呢?工程師的重要特質之一,便是「探索未知的問題」,可以在面試時回答可以研究的方向及策略,並在發面試感謝信時將答案一並寄送給面試官。既解決了問題,也展現出你的積極!

四、展現好奇與對工作內容的熱情

積極地對職務內容發問,可以展現出你對於工作的好奇以及熱情。但要注意發問的內容不要太過膚淺,例如:只在意公司福利與免費零食吧,這樣面試官對你的印象可能不加反減喔!

面試的最後一題,通常都會是:「你有什麼問題想問嗎?」

千萬不要搖搖頭、擺擺手,讓這場面試結束!把握機會提出和職位相應的問題,例如:「請問公司前端會負責哪些項目?」、「公司的協作流程通常是如何運作?」⋯⋯這樣的問題不僅可以展現你對工作內容的積極求知,也可加深對公司的理解!

以上就是本次前端工程師面試實戰懶人包!

Hi 更多延伸閱讀:
工程師面試攻略-教你快速破解常見的 4 個問題
求職必看!工程師的 LeetCode 面試調查大公開!

Hi 找我嗎?追蹤訂閱HiSKIO

  • HiSKIO 嗨程式技能: 科技資訊文章、實用工具分享、新課程優惠領取
  • Codefree:喝一杯咖啡,輕鬆學程式!
  • HiSKIO LINE:叮咚!掌握最新資訊與優惠,現在就到 LINE 領200抵用券!
  • HiSKIO YouTube:免費實用課程、工程師經驗分享
  • 程式丼起來:不想一個人孤單寫 code ? 立即加入話題圈吧 !

參考資料:

Facebook Comments