職缺名稱: Senior Software Engineer, GPU platforms
職等: L5
LeetCode準備: 大約40題 (懶得刷題,全難度都有,但這不是重點,詳看後續內文)
實際面試/總共面試: 2/5 (二面後結束,總共有五關面試)
面試結果: 感謝Phone Call
從JD來看,基本上就是要找一個有網路技術開發、軟硬體設計和嵌入式系統驅動(GPU Driver)工作經驗的人。
工作內容有點包山包海,年資最低要求是10年,但本人工作才快7年,只好硬著頭皮試試看。
某天在LinkedIn上有位來自澳洲Google HR的邀請,並且表示過去我有GPU Driver的工作經驗,因此想介紹一個職缺邀請我來參加面試。收到邀請的當下是蠻驚訝的,心想居然澳洲Google HR會找上我,但由於我的新工作才剛上工沒有多久,因此我就婉拒掉了他的邀請。
後來過了一段時日,他似乎在台灣找了一圈還是找不到合適的人選,又回來跟我聯絡並告知這個職缺依然開缺,問我是否有興趣來參加面試,我後來想一想,雖然自己完全沒準備,也不曉得自己對這樣性質的工作是否還有興趣,但想說體驗一下 Google Interview 好像也不錯,因此就答應了他參加面試了。
全部面試的介紹如下:
There will be a total of 5 x 45 minute interviews with Google Software Engineers on Google Meet.
The focus of the interviews are below:
Embedded Domain Focussed Interview / GPU related
Focusing on coding in [C or C++] and Embedded domain knowledge relevant to the role and your Embedded expertise
1x Low-Level/Embedded System Design Interview
System Design interview
1x Googleyness and Leadership Interview
A non-technical interview.
2x Software Engineering Embedded Coding Interviews
The interviewer will be interested in your coding ability, your knowledge of computer science principles (data structures, algorithms etc.) and how they can be used in your solutions
Interview Order: We will start with the Embedded domain interview, and low level system design.
If the feedback from those are positive we will do the Embedded Coding interviews.
-------------------------------- 分割線 --------------------------------
實際上是有分兩群,前兩次是一群,後三次是第二群,每一群內的面試順序好像不一定,至少我覺得 Interview Title 好像對不起來,而且面試官似乎不會知道面試者現在是第幾面。
HR Phone Call:
澳洲HR,全程英文介紹了職缺內容,並且有詢問我的期望薪水,整個 Phone Call 大約15分鐘。聽說這關 HR 是會確認一下面試者的英文能力,我自己是感覺好像有那麼一點點,看到網上有人在這關就被刷掉了...不曉得是不是真的。
第一場面試:
面試官是台灣人,全中文面試,整場面試是一小時(這就跟上面的流程說明不符了)。前面雙方自我介紹了一下,面試官表示他也是前幾年才加入Google,過去有十幾年的經驗都在做GPU。
題目開始前,面試官說:"就當作我們是合作夥伴,現在要一起計畫一個Project",所有的設計想法都可以寫在文件檔上,題目內容大約是90~95%屬於網路技術相關,只有5~10%屬於GPU相關的。
還好問的題目在之前的工作經驗也稍微有涉略,因此還算是有把基本的設計架構寫出來,最後有被問到Follow-up的問題(面試官有特別提及),雖然我也有回答,但不確定是不是他要的答案。
後來還剩下一些時間,面試官詢問有沒有想問的問題,我就問了一下實際工作內容的部分,然後就結束了第一場面試,完全沒有考Coding。
整個面試過程的感覺還算不錯,但要有點耐心,必須把每一個想法詳細具體地說清楚,面試官會一直不斷追問。在面試後段閒聊之後,感覺這個工作內容跟我預想的一樣,直白地講蠻像以前在台商豬屎屋工作的感覺。
第二場面試:(不太順利)
面試官是台灣人,剛開始我用中文打了聲招呼,以為應該又是全中文面試,但後來面試官用英文回我,我就知道這場面試他想用英文面試了,還好自己本身也習慣用英文開會,因此就沒那麼緊張。
他說明這場面試是45分鐘,沒有自我介紹,直接開頭就問我習慣用什麼語言寫 Code,我回他說 C++,然後他就在分享文件上調整了一些東西,可能是程式語言的設定,之後就開始直接說題目了。
題目聽完之後,我當下的感覺是這題目也太大了吧,這要怎麼馬上寫 Code 給他,於是我問他:"我要現在寫 Code (或Pseudo Code)給你看嗎?",他回說:"沒有沒有,我們現在只是在計畫"。我心想那應該就跟第一場面試一樣吧,憑著自己過去的經驗和依稀的記憶先寫下想法吧。
寫完初步的想法之後,一樣面試官繼續追問,但這次的感覺跟第一場面試不一樣,因為他問的問題並不是延伸問題來完成這個計畫,
而是他不曉得我的設計是什麼,所以在整個面試的過程中我就一直不斷地解釋和回答面試官的問題,然後在這過程中面試官也會丟一些他自己想考驗的問題,但有很多情況是我沒遇到過的。
我有跟面試官表示我沒遇過這種狀況,需要一點時間思考一下,然後他有可能是想嘗試引導我,但在我聽來他只是把問題又重複了一次,並且一直確認我有沒有聽懂問題,我就又跟他說,我在思考你的問題的答案是什麼,我盡可能地講出想法,
然後他又再重複了一次,而且似乎不想給我太多時間去想,可能因為面試時間只有45分鐘。
我記得中間有一段時間我們聊到過去和 GPU 有關的工作經驗,有個敘述我是這麼說的:"我們會在 ASIC 或是在 FPGA 的 Server 上去做 GPU 測試,這其中我們會得到一份 Register File,
知道哪個位址可以去驅動 GPU,並且把執行結果輸出到 DRAM 上,然後再從 DRAM 撈出資料去跟 Golden 比對",面試官問:"這過程有沒有用到 Lock?",我回:"沒有,也可能是我沒涉略到,我在做測試的時候沒有用到 Lock",
我們在這過程就確認了很多次。
整個面試過程我感覺非常不順利,而且覺得沒辦法一起共事。這場面試似乎也有點亂掉了,我的意思是應該跟面試官預想的不太一樣。到面試尾聲時,面試官又丟了兩個題目,一樣是我沒碰到過的狀況,屬於網路技術的問題,
我又跟他說明我需要點時間想,然後一樣,他又再重複一次題目,確認我有沒有聽懂。到最後更讓我哭笑不得的是,面試官直接用中文說:"還是我用中文跟你講?",我苦笑了一下說:"好啊,不然用中文說說看"(我心想我不是沒聽懂,我是要一點時間思考)。
到最後還是沒有回答他的問題,因為時間到了,但我也無所謂了。
最後面試官還是問了我有沒有想問的問題,我就一樣問了實際工作內容,他表示剛剛問的問題都是工作內容會碰到的,然後沒有其他說明,就急忙著就結束了這場面試。我心裡大概也有數了,這場應該是直接 No Hire 的評價。
總結第二場面試的問題大概有60~70%是網路技術問題,30~40%是GPU Driver相關的問題,不確定是不是有想考 Coding,畢竟面試官前面還問我習慣用什麼語言寫 Code,但到頭來也沒考 Coding。
從介紹來看,也不確定頭兩次的面試到底有沒有打算考 Coding,可以確定的是都有考 System Design。
兩場面試結束之後,其實已經打算想跟 HR 說可以停止後續的面試了,因為這個工作內容我已經大致了解,而且我相信面試官應該也覺得我不夠符合,但就看看 HR 回報 Feedback 時怎麼說了。
第二次HR Phone Call
幾天後,安排了第二次跟 HR 的 Phone Call,主要是講前兩次面試的 Feedback,評價聽起來不確定是哪個面試官給的評價,總的來說就是相關技術欠缺,而且在開頭的時候 HR 就說 "Bad news",我就知道已經結束了。
由於我也沒什麼想問的,雙方彼此感謝花費時間參與/安排面試之後,就結束了通話,通話時間3分鐘結束。
我知道自己的專業和經驗跟這個職缺有很大的落差,然後本身就抱著平常心來了解這個工作內容,所以儘管在過程中有不順利的地方我也不覺得有什麼,但有個點我還是想讚美一下,我很喜歡谷歌這樣的面試考題(我知道不是只有谷歌會這樣面試),
它可以馬上知道面試者的專業和經驗之外,也能知道面試者在遇到例外情況時的反應和思維,以及如何跟同伴一起合作解決問題的態度,這是用一個題目就能鑑別面試者綜合能力的考題設計,是非常棒的方式。
我對台灣谷歌的工作沒什麼評價,單純只是想來了解一下這個職缺的工作內容,得到結果是我不太感興趣。但薪資以台灣地區來說,算是給得很高的科技公司了,若想追求高薪和履歷加分,確實還是蠻值得一試。
每次經歷過一場面試之後,也會更清楚知道自己要的是什麼,我覺得被邀請來參加面試還是有不錯的收穫,至少我可以放心地去規劃自己的的職涯和生活了。
Last updated: