面試前
要先填資料表、性向測驗、還有職能項目
職能項目裡面會請你描述近五年內的經驗,主要涵蓋幾個部分:團隊合作、持續
學習、問題分析與解決能力、主動積極,感覺這部分寫得好的話會有加分效果
HR寄的mail中有提到使用teams來視訊面試,會請你先裝Visual Studio Code、Visual Studio Code C/C++ extension、 Visual Studio Code Live Share功能
面試當天(1位面試官+2位RD)
面試官會先詢問知不知道甚麼是TDD,由於面試前沒有聽過所以面試官先簡單介紹一下甚麼是TDD,然後會分享畫面並使用VS code講解一下TDD開發流程,接著就開始上機考
上機考開始時會分享一個PDF檔給你,裡面是題目說明還有要求需使用TDD模式開發,題目是12. Integer to Roman(Leetcode medium),TDD模式開發需求如下:
1. 先列出 你想解決的一個 數字
2. 執行測試 ,確認 你的程式 目前無法處理此問題
3. 寫最少的 程式碼, 讓測試通過
4. 執行測試 確認你的程式可以解決所有問題
5. 看看程式碼有沒有可以 更好的地方
6. 回到第一步
然後開始實際coding,題目本身不難
但不太能接受的地方是每寫幾行code,面試官跟RD都會問這樣寫對嗎? code可不可以更短? 整個思考都被打斷,無法很順利地coding。
不太理解到底是要考coding能力還是要考TDD能力,最後時間到大約只有完成90%左右,還有一些小bug沒修完
上機考完後主管會介紹一下工作內容,主要是使用QT開發視窗程式
然後稍微問一下履歷內容,以及問你有沒有甚麼問題想問,由於感覺已經沒機會錄取了所以就沒問甚麼問題,只問了一下實際上在公司專案開發使用TDD模式的好處跟壞處
面試建議
給求職者的建議:
建議先把leetcode easy刷熟,medium也要練習
要能夠在面試官跟RD一直打斷你的情況下coding
另外要先熟悉一下TDD開發模式,不然正常可以寫完的題目都會被弄到寫不完
給公司的建議:
希望可以搞清楚面試到底是要考coding能力還是要考TDD,不要造成面試者的混淆