Last updated on March 6, 2021
這篇 Quora 軟體工程師面試 分享我去面試 Quora 這家公司的心得,對其它公司有興趣的可以看看我這篇《Google Facebook Quora LinkedIn AirBnb 面試經驗分享》。整體而言,我很喜歡這間公司的氛圍,面試過程的體驗是所有公司之中我最喜歡的,當時的主管還是台灣人,而且是雄中的學長!即使我後來拿到 Google 與 Facebook 更高的 offer,Quora 也很認真地 match 上這些上市公司的開價。只可惜最後由於其它考量,我只能遺憾地婉拒它的 offer,但我自己還是很喜歡這間公司在面試過程中給我的感覺的。
Quora 是什麼?
其實我是來美國後才知道 Quora 這間公司,以前在台灣就沒怎麼聽過,它是我這次面試的這些公司之中名氣與規模都是最小的。它是一個線上問答的平台,有點類似 Yahoo 知識+。但我自己用過的感覺是 Quora 上的問題跟回答都有不低的程度,Yahoo 的後來開始有各種問題,廣告,機器人之類的。有時候我查資料時,最後是在 Quora 上找到最滿意的答案。
雖然我投的是 Machine Learning engineer ,但他們說因為自己規模不大,因此每個工程師都會當 full stack 來用,所以面試時其他軟體工程的問題也會問到。這點在電話面試沒感覺到,只有在 onsite 時有體會。
投履歷
因為我自己以前就聽過 Quora,因此這次我是直接上它的網站看看有沒有 ML 相關的缺,畢竟它有大量的文字,應該可以做不少 NLP 的東西。當時因為沒半個認識的朋友在 Quora ,我只好摸摸鼻子乖乖在它的網站上投履歷,沒有靠內推。
Hiring Manager Chat
履歷投完隔天, Hiring Manager (HM) 就寄信來約時間聊天了。他在信中提到他是 Head of Machine Learning engineering team at Quora,所以我就事先為了這通電話做好技術相關的準備,而不單單只是噓寒問暖而已。
這通電話聊得很愉快,對方很親切,回答了我很多問題(後來發現他是雄中學長)。而他也問了我不少問題,有背景的也有技術相關的問題。聊完感覺他表示接下來應該會有人資來跟我約下一步的電話面試。
Quora 軟體工程師面試 :電話面試
因為我投的是 ML engineer 的職位,所以人資事前有說這個電話面試會偏重於 ML 方面,而不是寫程式。果不其然,當天整整一小時的面試通通都是問 ML ,完全沒有寫扣。事實上,我們連用電腦都沒用,整個電話面試名符其實只用到了電話,沒有欺騙消費者。
除了沒寫扣以外,這一小時的流程很標準。先是雙方簡單自我介紹,就開始對方一連串的問題,在結束前五分鐘才輪到我問。整個過程對方態度都不錯,給我留下了不錯的印象(後來知道是史丹佛的畢業生)。結束後隔天,人資就寄信說電話面試通過,要約 on-site interview 啦!
Quora 軟體工程師面試 :Onsite Interview
Quora 的總部位於 Mountain View 市區最熱鬧的 Castro Street 上,步行就可以到很多餐廳。我其實在這區住了一年多,但從來沒有發現過它,實在很隱密。順便一提,因為離市區近,這邊車位不好找,聽說 Quora 員工有自己的停車場,但我這種來面試的就只能停附近住宅區了。
面試共五輪,早上兩輪下午三輪,每次一小時,偶爾會換會議室。每一輪的主題都不太一樣,有寫扣的也有純粹口頭問答的。面試我的都是 HM 團隊的人,也就是說如果我加入了,就會跟同一批人密切工作。他們給人的感覺都蠻專業的,雖然嚴肅但還是感覺親切也會開玩笑。而電話聊天過的 HM 自己就是其中一輪,與一個 Product Manager 一起問我背景與產品的問題。
少見的 Coding Interview
我覺得最有意思的是寫扣那兩輪。不像大部分公司會丟給你像 Leetcode 的演算法問題,這兩輪寫扣都是有情境的。而我很喜歡是因為些模擬的情節是很接近真實的工作環境的。
有一輪是給你一個包含程式碼的資料夾,裡面有 README 講述這個資料夾裡面的程式碼應該要幹嘛,以及一個某人(面試官扮演)回報的問題。而面試者(我)的認為就是搞清楚這個問題是如何產生的,以及要如何修補,修補完後要寫 unit test 。整個過程都可以上網查閱任何資料(除了找同學求救以外),非常接近我們日常工作的環境。
另一輪是給你一篇 ML 的論文,先給你十五分鐘去讀其中一部分。讀完後跟面試官討論,然後他會讓你去實做其中一小部分。聽起來很嚇人,但因為時間的限制,其實也只會讓你實作一些真的很簡單的部分。實作後再繼續跟你聊這篇論文,以及相關的衍生概念與應用。
根據我之前面試別人的經驗,這種貼近實際工作環境的面試方式可以很有效地看出一個人做事的風格與解決問題的系統。反之,有時候演算法面試題即使答得很好,也不一定能代表太多。
火警警報
在那天第一輪面試結束前十分鐘,整個大樓火警警鈴大響。我跟面試官看到大家開始往外走時,也只好抱起電腦跟著人群逃難,爬了不少樓梯。在逃難的路上就開始隨便聊天,我還問他這個是不是面試的一環⋯⋯在外面跟其他 Quora 員工會合時也遇到了 HM ,大家就一起聊天聊了十幾分鐘,直到消防隊確認安全了我們才一路又聊回去。這個插曲讓我提早認識了不少人,混熟了一點點,在下午的面試都有遇到。
午餐
Quora 是有提供免費午晚餐的,而今天的午餐是好吃的西班牙海鮮燉飯!可惜因為上午火警的關係,我的午餐時間被大幅壓縮,匆匆吃飽就趕回去開始下午的面試。
Quora 軟體工程師面試 :面試結果
在週四的on-site interview 結束後,週日我就收到 HM 的郵件表示通過了。但他不急著跟我要答覆,而是約我再去一趟公司,來一場 reverse interview。
Reverse Interview
根據 HM 的說法,Reverse Interview 是 Quora 特有的步驟(我的確也沒在其他地方碰到過),會請拿到 Quora offer 的面試者回來公司跟團隊聊聊天。概念上就是立場互換,變成你來面試他們了。因為 HM 很忙,我們就敲定了某天的晚餐時間,可以聊完後一起去吃(免費的)晚餐。
雖然 HM 表示我想的話可以也見其他人,但我也就只有約他單獨聊天。因為只有我們兩個人,我們就全程講中文啦!流程大概就是想回答我所有問題,反正因為我簽了 NDA 也不能講出去。而他對我的問題只有一個,那就是要怎樣才能拉攏我進他的團隊。因為我當時其他公司的面試都還在進行中,他就表示可以理解也願意等我所有面試告個段落後再決定,而不是逼我現在就要選。這也是另一個我很滿意的地方,因為有些公司就不會尊重你的情況,在你的 offer 上標注有效日期。
Offer 後續發展
Quora 一開始的 offer 其實就已經很不錯,即使後來 Google 與 Facebook (見《Facebook 總部面試心得分享與免費冰淇淋》)開了更高的價,它也是加碼跟上。要知道, Quora 是家還沒上市的公司,財力跟 Facebook 是不太能比的。因為我對他們的團隊氣氛與產品的興趣,讓我當時的確糾結了一陣子。在整個過程中,人資與 HM 會不時地問我其他公司面試的進度,以及問我要不要再去 Quora 跟他們當面聊天吃飯。
最後關鍵的決定點是考慮到綠卡的申請:雖然 Quora 表示入職後會馬上開始辦,但因為我之前在這類型小規模公司時綠卡申請異常曲折,不想再走這種冤枉路,因此最後還是婉拒了它,選擇綠卡申請較為容易的大公司。HM 最後知道我因為綠卡的考量而婉拒他們時也表示可以理解,並希望保持聯絡,看未來有沒有機會再合作。
結語
總之,Quora 是家讓我蠻驚訝的一間公司,從面試的過程中我就一直感覺到他們是很嚴謹的在建造這個線上問答的平台,也有良好的工程師文化讓人成長。雖然我對於他們如何獲利這件事有不小的疑問,但整體而言我還是蠻喜歡他們的,後來也會推薦給那些想換工作的朋友們。