iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 13
2
Modern Web

半路出家轉職工程師?你該知道的 30 件事系列 第 13

【Day 13】什麼是工程師的技術面試?為什麼技術面試看的不只是技術?

技術面試

如果說昨天的文章中,提到的「行為面試」可以適用於不同職能的應徵者,那技術面試就是專門為軟體工程師這種技術缺所設計的關卡。

即使是技術面試,也有許多不同種進行方式,例如:

1. 線上技術測驗 Online Coding Assessment
* 許多稍有規模的公司會採用付費的線上技術測驗,例如 Coderbyte, Hackerrank, Codility。這些給公司用的線上測驗,多半也有給一般使用者的題庫服務。有點像是,出版社考卷給老師,也賣參考書給學生。

關於這些 coding assessment 可以參考這篇英文文章介紹

2. 回家作業

有些公司的測驗可能是小作品型的,就寄給你題目,要求你幾天之內完成後回傳。

3. 面試現場的技術考試

面試過程中會以技術討論為主,面試官可能會拋出技術相關的行徑題,甚至也可能直接叫你在白板上解題。是的,令人聞風喪膽的白板題,以及常常聽人說準備面試就在瘋狂刷題,這些都是為了要應付技術面試。

面試現場的技術形式有百百種:

  • 問些技術觀念題:JS 裡非同步的意義是什麼?有哪些用途?
  • 技術提進階版:出個演算法白板題讓你直接解題討論
  • 問些情境題:今天在某個情境下遇到問題,你會採取什麼方式
  • 情境題的進階版:坐在旁邊看著你實作(超有壓力),等你做完之後,直接針對你過程中所採取的解法和你最後的結果做提問和討論。

綜合以上,也許很多人只看到「考技術」的部分,但請注意,只要是談話的過程,就不會像紙筆解題一樣一板一眼。也就是說,你可以盡量把這個談話的過程,當作是「討論」而非「考試」。你可以在過程中,盡量講你有把握的部分,至於沒有把握的部分,則可以用詢問的方式來請面試官引導你或給你提示。

現場來點code走段鋼索

也就是說,面試要考的其實是以下三種能力:

  • 技術能力
  • 問題解決能力
  • 溝通能力

可能一道題有十種解法,但每個解法的背後都有思考路徑和優先順序,面試官會想看你為何選擇這個解法,可以看出一個人會如何選擇方式。例如:你會選擇最節省時間、還是節省空間的方法

如果你對面試過程還是沒概念,建議你直接上 youtube,搜尋 software engineer interview,你應該就會有源源不絕的素材可以看。

或是可以看看在這篇文章中,作者整理了刷題面試各項能力分開練習,要寫出一道題目,而且要做到 bug free,必須要有下列能力:

  1. 釐清問題(展現細心程度,可以跟面試官溝通清楚問題範圍再下手)
  2. 想出演算法(展現資料結構和演算法的應用能力)
  3. 寫出 pseudo code(展現把初步想法變成可運行程式的能力)
  4. 寫出 code(展現程式語言的掌握能力)
  5. 自己 testing & debugging(展現 unit test、integration test 的基本能力)
  6. 溝通能力(問清楚問題、把自己的想法講清楚、在必要時尋求協助)

也希望大家在刻意練習技術題時,可以用以上幾點標準來幫助自己思考,除了訓練解出題目之外,是否有作多方面的思考和練習。

先搞清楚技術面試的內容,以及公司到底想要測驗什麼能力,才能有效與精確地準備。

至於如何準備,我們下集待續。


本篇文章為 2020 鐵人賽系列文章第 13 篇。我在〈半路出家轉職工程師?你該知道的 30 件事〉 系列文中,會連續 30 天發文分享我在過去兩年輔導百位學生轉職「網頁工程師」(web developer)的經驗出發,轉職軟體工程師,應該要知道、注意、準備好的 30 件事。

歡迎訂閱和留言討論~


上一篇
【Day 12】工程師面試,行為面試&如何準備?面試要你自我介紹的關鍵是什麼?
下一篇
【Day 14】求職信是什麼?有了履歷為什麼要有求職信?
系列文
半路出家轉職工程師?你該知道的 30 件事31

2 則留言

3
Ellen Lee
iT邦新手 5 級 ‧ 2020-09-26 23:54:13

你這個系列寫得都好實用,不愧當了好幾屆學習教練又經歷 A+ 深深洗禮

Yenting iT邦新手 5 級 ‧ 2020-09-27 15:45:22 檢舉

對,都是新手實用文XD

0
TD
iT邦新手 5 級 ‧ 2020-09-30 13:34:23

沒事的時候就是要練習邊寫扣邊講話 XD

我要留言

立即登入留言