工作經驗兩年,區塊鏈相關背景,研究所時期也是相關實驗室
D0自行至官網投遞履歷
D7 HR Email回覆,
預約第一次面試
D10 第一關HR: 一小時內
介紹公司及職位概況,簡單進行自我介紹,有一個英文問答的小環節,不會太難。
介紹後續面試流程的內容及注意事項,
有提到履歷看起來滿適合他們的,但是對於程式語言的requiremnet沒有達標,所以會調整面試流程,多面一關。
D17 第二關 Hiring Manager(部門主管): 一小時
原本第二關應該會是Go的線上程式測驗,
不過因為沒有Go的相關經驗,但是CV有提到區塊鏈相關的背景,
所以這次主要針對履歷上進行問答,也額外包括一些區塊鏈的基本問題,一般開發者應該可以回答得出來。
基本上針對各專案都問得滿仔細的,不過整體流程還算輕鬆,沒有太大的壓力。
同日告知通過,邀請兩週內完成線上程式測驗
D24 第三關 線上程式測驗: 90 min
是用CodeSignal平台的題目,比起一般LeetCode,更偏向平常會用到的HasMap之類的結構去記錄和排序等等。
共四題,IDE是像LeetCode那種,基本上沒有任何提示,Compile速度跟縮排也不盡人意,Compile Error會解得很煩,但是還堪用。
有給測試題,基本上跟正式考題型類似度滿高的,大概可以看出會考的概念。
建議正式題目稍微看一下就好,主要細節應該還是在範例執行結果的state變化圖,一開始沒看到,花了超久的時間去猜題意,導致結果不太理想。
一個題目好像是十組測資,每組測資中包含很多子測資,子測資全部AC才有該組的分數。
D26 HR預約phone call進行後三關的說明
D38 下午連續面第四~六關
第四關是系統設計(60 min, with Senior Engineer),訂票系統相關,題目非常簡短,主要就是面試官會引導你進行設計,可能包含資料庫、系統架構等等,然後每個設計可能都會問潛在問題。
第五關是系統實作(90 min, Pair programming with Hiring Manager(部門主管)),會實作訂票系統的一些功能,主要是簡述上一關的設計,然後進行實作,當中有遇到專案現有架構跟設計的不太一樣,所以原本度設計不太可行,即時做了一些更改,簡單的完成訂票功能。後續考官也問了一些follow up的問題,這些問題比較偏演算法和系統設計方面。
第六關是系統設計(60 min, with Senior Engineer),跟Time series相關,基本上沒有相關經驗,非常炸裂。
D40 HR預約後兩次的Behavior面試
D44 第七關 Hiring Manager(部門主管): 60min
主要問了很多Behavior相關的問題
D46 第八關 Senior Director: 30min
本質上不太像Behavior,問了履歷上擅長的語言中細節的threading問題,還有一些database & network framework的不同,最後也問了些專案經歷。
本來想說30分鐘感覺不能問出什麼,應該相對輕鬆,結果不然,反而是流程變得相當緊湊,有時候一題沒答好,不會被追問,會直接跳成下一題。應該失了很多分。
最後在第八關被reject,後續跟HR約了一個相互feedback的call,主要是部門主管(第二五七關)跟第四關的工程師給的評價比較好,認為我的反應速度還算快(本來以為會覺得我想很久),也有解決當下和follow up的問題,不過系統架構的部分還可以進步。但第六關跟第八關面試官是Say NO。
每一關的面試的氛圍相當不錯,面試官的經驗也都豐富,被問問題的當下也都有學習到新的知識或觀點。
面試建議
履歷的部分主要針對最近期的進行提問,建議要相當了解,或是預先複習,因為整體會問得滿詳細的。
CodeSignal線上程式實作的部分不太需要LeetCode的歷練,測資相對友善,針對平時開發常見的資料結構/簡易演算法,足夠熟悉應該就可以了。
Pair Programming的部分就是API的處理、DB的操作,要解決一些潛在問題。提供的Code Base沒有定義問題和標準答案,只要滿足面試官需求就好。