如果說昨天的文章中,提到的「行為面試」可以適用於不同職能的應徵者,那技術面試就是專門為軟體工程師這種技術缺所設計的關卡。
即使是技術面試,也有許多不同種進行方式,例如:
1. 線上技術測驗 Online Coding Assessment
* 許多稍有規模的公司會採用付費的線上技術測驗,例如 Coderbyte, Hackerrank, Codility。這些給公司用的線上測驗,多半也有給一般使用者的題庫服務。有點像是,出版社考卷給老師,也賣參考書給學生。
關於這些 coding assessment 可以參考這篇英文文章介紹。
2. 回家作業
有些公司的測驗可能是小作品型的,就寄給你題目,要求你幾天之內完成後回傳。
3. 面試現場的技術考試
面試過程中會以技術討論為主,面試官可能會拋出技術相關的行徑題,甚至也可能直接叫你在白板上解題。是的,令人聞風喪膽的白板題,以及常常聽人說準備面試就在瘋狂刷題,這些都是為了要應付技術面試。
綜合以上,也許很多人只看到「考技術」的部分,但請注意,只要是談話的過程,就不會像紙筆解題一樣一板一眼。也就是說,你可以盡量把這個談話的過程,當作是「討論」而非「考試」。你可以在過程中,盡量講你有把握的部分,至於沒有把握的部分,則可以用詢問的方式來請面試官引導你或給你提示。
現場來點code走段鋼索
也就是說,面試要考的其實是以下三種能力:
可能一道題有十種解法,但每個解法的背後都有思考路徑和優先順序,面試官會想看你為何選擇這個解法,可以看出一個人會如何選擇方式。例如:你會選擇最節省時間、還是節省空間的方法
如果你對面試過程還是沒概念,建議你直接上 youtube,搜尋 software engineer interview,你應該就會有源源不絕的素材可以看。
或是可以看看在這篇文章中,作者整理了刷題面試各項能力分開練習,要寫出一道題目,而且要做到 bug free,必須要有下列能力:
也希望大家在刻意練習技術題時,可以用以上幾點標準來幫助自己思考,除了訓練解出題目之外,是否有作多方面的思考和練習。
先搞清楚技術面試的內容,以及公司到底想要測驗什麼能力,才能有效與精確地準備。
至於如何準備,我們下集待續。
本篇文章為 2020 鐵人賽系列文章第 13 篇。我在〈半路出家轉職工程師?你該知道的 30 件事〉 系列文中,會連續 30 天發文分享我在過去兩年輔導百位學生轉職「網頁工程師」(web developer)的經驗出發,轉職軟體工程師,應該要知道、注意、準備好的 30 件事。
歡迎訂閱和留言討論~