嗨~ 歡迎閱讀 ExplainThis 全端開發雙週報。這期的主題是《如何在行為面試讓人覺得你像資深工程師?》。許多人在面試時,很可能技術面試表現很好,最終也獲得工作邀約,然而卻沒有拿到理想職級,這往往是因為在行為面試時,讓面試官認為沒有展現資深該有的行為。而我們在這期雙週報的主題,將會聚焦在這個議題上。
備註:如果你對軟體工程師求職相關主題內容感興趣,我們在 E+ 成長計畫有完整的資源,也有免費的履歷回饋頻道,在這個月底也將有給 E+ 讀者的專屬海外求職指南。E+ 的詳細介紹可以在這看到 https://www.explainthis.io/zh-hant/e-plus
[求職面試] 如何在行為面試讓人覺得你像資深工程師?
行為面試除了決定一位候選人是否錄取外,很重要的也會是決定一個候選人能拿到什麼職級。這是因為資深與非資深的工程師,在行為面會有很大的不同。讓我們看看以下兩件工程師很常要做的事情,不同層次的工程師,會有什麼不同的行為。
同樣是在思考開發
初階工程師會想該如何實作出來 (專注在執行細節)
中階工程師會想該打造什麼 (專注在解決方案的探究)
資深工程師會想為什麼要開發這東西 (專注在確保問題值得解決)
同樣是寫程式
初階工程師寫出功能無誤的程式碼
中階工程師寫出功能無誤,同時乾淨好維護的程式碼
資深工程師帶領、指導團隊,讓整個團隊都能寫出功能無誤、乾淨好維護的程式碼
資深工程師的行為有什麼不同?
可以從上面的例子中看出,初階、中階,以及資深的工程師,在「行為面」有很大的不同。
具體來說,我們可以概略地定義這幾個不同職級:
初階工程師:主要是被人帶,沒有帶人或專案的經驗,在談經歷時,出發的角度都是談個人層級,且做的都是偏小型的功能 (一到兩週能完成的功能)。
中階工程師:能獨立運作,不再需要人手把手帶,而是能開始帶人 (例如帶實習生),且開始做有一定複雜度的專案 (一到兩個月能完成的),且做到跨團隊的協作 (跟產品、設計等不同團隊協作)。
資深工程師:開始負責帶團隊 (5 - 10 人範圍),當技術負責人 (出事的話出來來擔),且負責規劃團隊技術路徑 (設定接下來要做什麼)、制定團隊技術規範。甚至做到,帶領跨團隊協作,負責到半年為維度的專案。
資深以上:帶領多個團隊 (例如 2 到 3 個團隊,每個團隊 5 到 10 個人) ,讓多團隊持續提升,讓整體產能提升數倍 (透過不同機制,例如重新梳理 oncall、CI/CD 流程)。個人的技術能力達到業界頂尖水平,負責的專案為度是以年為單位。
題目實戰解析
以下我們將會針對常見的題目,來討論初階、中階、資深工程師,在回答上會有的區別。如果你想確保自己拿到資深工程師的職級,請務必在平常做事時,就要去挑戰資深工程師該做到的程度。
請分享一個你過去半年改善過的事 (以改善溝通為例)
初階工程師會談個人層級:原本自己在會議中都沒有發表意見,努力改善後,在會議中逐漸講更多話,自己的想法也開始被採納。
中階工程師會談帶人層級:發現自己帶的初階工程師,平常在會議比較少發言,於是跟該工程師拉了一場 1:1 會議,藉此了解他不常發言的原因。聊完後分享了幾個推薦他能改善的心法,且會議中也會鼓勵他發言,幾週後看到他嘗試發言,覺得很有成就感。
資深工程師會談帶團隊層級:發現會議的進行方式,導致都是集中少數人發表意見,許多團隊中的成員保持沈默,當發現這問題後,決定跳出來負責引導,在引導時確保每個人的意見都能表達出來。後來還進一步調整會議進行方式,在新的形式下,每個人的想法會先被寫下來後,才進行討論,這樣能確保每個人的聲音都被聽見。
希望透過這期內容的分析,讀者們有對於如何在行為面試中,做到讓面試官覺得你是資深工程師,有更具體的理解。如果你想看更多的題目解析,來了解在不同題目,要如何回答得像資深工程師,我們在 E+ 中有更詳細完整的版本 (點此了解 E+ 的詳細介紹)。
[本期推薦]
最近 OpenAI 除了推出 1o 模型外,前端界也對 OpenAI 在實驗把 ChatGPT 的前端遷移到 Remix 這件事有相當多討論。而 Wes Bos 分析了該 Remix 的程式碼,從中讓我們學到許多 (連結)
Hugging Face 一直以來被稱呼為 AI 界的 GitHub,上面有非常多厲害的 AI 模型可以直接拿來用,最近社群中有開發者做了一個圖片背景移除工具,就有 Hugging Face 工程師跳出來說可以直接在 Hugging Face 上用現成的 (連結)
資料庫索引與背後的資料結構,一直是後端面試常被問到的問題。PlanetScale 的這篇《B-trees and database indexes》講解得非常清楚 (連結),他們甚至做了一個互動式的網站講解 B+ 樹 (連結)
很多人常在問數學對於前端工程師是否重要? 雖說多數前端工程的範疇,不會直接用到數學,但是如果要做某些動畫,數學會很有幫助。推薦可以一讀《The beauty of mathematics in crafting stunning animations》一文 (連結)
在瀏覽器的運作中,回流與重繪是關鍵的過程之一,其中的回流對於效能影響不小,《Why do reflows negatively affect performance?》一文探討了這主題 (連結)。關於這主題,先前我們寫的《什麼是關鍵渲染路徑》一文也有觸及這主題 (連結)。
React 19 從 RC 階段到現在已經半年了,社群中開始討論 React 19 正式推出的時間。與此同時有一些複習 React 19 的內容,包含《What’s new in React 19》 (連結) 以及《React 19 Cheat Sheet》都很推薦 (連結)
過往前端的單元測試,經常是在 Node.js 中有一個模擬的環境來跑,所以經常可能會跟實際在瀏覽器有所不同,Storybook 團隊寫的《The future of UI testing》談了如何解決這個問題 (連結)