前言
這篇文章是我一系列求職文的其中一篇,如果還沒有看其他篇建議先按順序往下看:
- 2021 新鮮人軟體工程師面試心得 (一)- 面試準備與總結
- 2021 新鮮人軟體工程師面試心得 (二)- ASUS AICS 篇
- 2021 新鮮人軟體工程師面試心得 (三)- Sea Labs 篇
- 2021 新鮮人軟體工程師面試心得 (四)- Google 篇
Google 軟體工程師
Google 應該是台灣最知名的軟體公司了,最近因為 Google 進軍硬體業,且在台灣做了很多硬體方面的投資,所以台灣 Google 在擴招。如果想進 Google 的話,現在真的是蠻不錯的時機。我自己投遞的時候是直接在 Linkedin 上找到 Hiring Manager,職缺開放後甚至有被提醒,大家可以善用 Linkedin 。
公司介紹
Google 在台灣應該是軟體工程師的聖地。從薪資福利到工作自由度,鮮少有其他公司能夠比擬。
台灣 Google 主要是做一些偏向硬體方面的研發。最早以前是 Chrome OS,後面則有 Pixel,Nest 等等產品,近期更是多了一個 Silicon Team 專門做手機晶片。現在台灣已經是美國以外最大的硬體研發中心,也因此促生了許多軟體工作。
儘管專門做硬體,但工作內容上其實並不一定都是硬體。日前有碰到面試官做的是影像處理演算法,真的就是拿 C++ 實作一些經典/美國總部研發的 CV 演算法,就算對硬體毫無興趣的人也可以做的很開心。當然也是有很多工作是跟硬體緊密結合的,層級可能偏向軔體。
Google 最著名的應該就是自由。我問了五個面試官他們最喜歡 Google 哪一點,五個都說最喜歡自由度很高,但相對的問他們最討厭哪一點,有兩個人說是自由度太高大家有點散。我自己覺得自由度是一把雙面刃,如果不夠自律的話可能太自由的環境反而不一定是好的。
面試流程
應該有蠻多人聽過 Google 的面試流程慢到令人崩潰,但我覺得今年速度還好。整體流程花了 2.5 個月,已經算快了。
因為是通過 Linkedin 直接找到 Hiring Manager,所以我從投遞履歷到開始面試只花了不到一個禮拜。大致關卡如下:
- 第一輪(10/26):Techincal * 1
- 第二輪(11/3~11/5):Techincal * 4, Behaviour * 1
- 第三輪(12/9~12/10):Team Fit Talk * 3
Technical
Google 的 technical 大家都有耳聞,就是不斷的演算法題目。包含第一輪的 Screening 總共有五次 Technical,每次都是一樣的流程:45 min LC + 10 min QA。
跟其他公司不一樣的是他們沒有什麼聊天的環節,對我以前做過的實習經驗一點興趣也沒有。技術面過程也沒有要問我知識型問題,真的就是寫題寫到底。要注意的是他的平台是沒有 compile 功能的,所以你要 debug 要自己用手動去做。
題目難度的話我覺得都是 Medium~Hard,但不是太難的 Hard。說實話很多都是經典的題目(如 Topological Sort)的小變形,沒有到要通靈的程度。一關會寫 2~3 題,他後面的題目通常會是第1題的延伸,也是 Hard 的由來。但因為第1題已經寫出來了,所以儘管整體是 Hard 做起來卻會因為有方向而變簡單許多。可以想像是寫 410. Split Array Largest Sum ,但第1小題已經叫你寫好 check_possible 的函數,第2小題則是要你真的解題才會用到 Binary Search。可能是今年擴招的關係,但題目本身真的沒有那麼難。
另外一個有趣的點是會有兩輪用英文進行面試,而且真的很困難… 我的英文算是非常好,甚至用英文面 Behaviour 我都不怕,但邊打扣邊講英文又是一個我完全沒有體驗過的事,結果我覺得我腦海打結的次數比平常多。建議大家可以練習一下用英文做 Techincal 面試練習。
Behaviour
第2輪有一關要問你有沒有俱備 Googleyness。別看名字聽起來很厲害,但面起來還蠻正常的。基本上就是問一些團隊合作,挫折應對等等很普通的東西。沒什麼特別需要準備的,跟其他公司一起準備就好。
Hiring Commitee
結束第2輪沒多久就被通知要進 Hiring Commitee 了,這時候我被驚嚇到,因為 Recruiter 要求我找 2~5 個 Google 內部 Reference 來佐證我的能力。我覺得這個要求真的非常高,比較幸運是因為畢竟就讀台大資工,有認識的學長姊進 Google ,所以找到2~5個不難。但我真心覺得,對很多人來說,這可能是整個 Interview 最難的地方。
最後我找了4個推荐信,一個是我 Intel 的前主管(最近轉到 Google),三個是系上的學長姊,相信推荐應該還不錯。
隔沒多久 HR 就通知我有進到 Team Matching 階段,之後 11 月底/ 12 月初會再陸續跟我通知。
Team Matching
科普一下,過了 Hiring Commitee 之後就代表你是一個有能力加入 Google 的人了,但實際上是什麼職位/去什麼部門都還不確定。在 Team Matching 階段會有不同部門的人來看我們這些求職者的履歷,然後如果對我們有興趣的話會再跟我們進行約談。儘管可能有很多部門想要找你談,但你最後只能選 3 個 Team 來進行 Team Fit Talk。
我當時有受到邀約的五個團隊是:
- Silicon SWE
- Pixel MAKE
- Chrome OS (Camera, Audio, Hardware Security, Health Monitor)
- Chrome OS (Device Enablement, factory)
- Pixel Wireless connectivity
其中,我選擇跟 Pixel MAKE 和兩個 Chrome OS Team 進行後續的談話。
Chrome OS (Device Enablement, Factory)
這是我進行的第一場 Interview,也是讓我印象非常深刻的好面試。這個團隊工作內容有點像是寫 Tool 來確保各家生產的 Chromebook 都是好的,符合品質保證且不會出錯。儘管有碰到一些硬體的東西,但本身是不會寫到 Firmware/Kernel 的。
在面試的前一天晚上,主管有特別寄信叫我可以多準備問題,並且儘量直接的跟他們討論,不管是未來發展還是任何的問題他們都歡迎開誠布公溝通。我也的確這樣子做了,把我當下一些糾結的問題,很直白的和他討論。
另外有人說這部門有點像 Chrome OS 組的新兵訓練營,接觸的東西比較廣且人都比較年輕。如果是真的,那應該蠻適合我的。
Pixel Make
Pixel Make 很有趣,面試我的是一個超級大官(史丹佛博士,跑遍不同新創的高階主管)。看起來是台灣 Pixel Team 的大人物,下面管了很多團隊,但面試反而進行的有點不順利。因為我一開始以為面試我的是直屬主管,所以問的問題都有點太細,他的回答都是因團隊而異。到最後轉問一些他以前的事蹟,話題才開始慢慢聊開,了解到他之前在矽谷的所見所聞。至於工作內容的話很廣,從硬體到 APP 端都有,但反正就是寫 Android/Pixel 的軟體,最 High-level 可以到寫 APP (Settings, Calculator 之類的)。
Chrome OS (Camera, Audio, Hardware Security, Health Monitor)
最後則是另外一個 Chrome OS 團隊,相較於前兩關的面試官,我覺得這位面試官像工程師大過於像主管。前面兩關討論比較多未來規劃或是性格上的問題,但這邊主要講的還是技術上來說他們團隊做什麼與會需要什麼樣的能力。但工作內容是超級有趣,做 Camera 的我真的看了蠻震驚的,有很多演算法有關的東西可以研究,應該很多人會喜歡。
最後我主動把話題從技術轉向 Google 內轉機制等等比較非技術的話題。儘管最後無緣,我覺得還是聊的蠻開心的。
後續流程
Team Match 完的一個禮拜就發 Offer 了,因為前面談過 Chrome OS (Device Enablement, Factory) 有表示願意收我,我也跟他們的主管很談的來,我就把他設為我的第一選項。
薪水的部份,一開始 Google 給我的第一份就已經很高了,後來我用新加坡的再 Compete 也沒有提升。