各位好,在面試的過程中我從dcard和ptt得到了很多有用的資訊和回復,因此,當我拿到OFFER後決定也回饋給大家(PTT沒登入幾次,所以沒po),另外因為保密協議,所以沒有講細節的內容,如果還是有不妥的地方也請告知我修改。
背景介紹: 學校系所的話是四大資管學士畢業,沒有實習和競賽經驗,2021年畢業後啃老了兩年到現在,期間收了無數無聲卡和拒信,一度感到絕望,終於在這波擴招中運氣好的拿到了OFFER。
無聲: 緯創, 群輝, Synology, 趨勢, qualcomm, Intel, Binance, Taboola, Lenovo, Houzz, Microsoft, food panda, inventec, 臺灣發展軟體科技, netbase, 普維, unition, amd, roku, HP, Nogle, tesla, synpulse, Acer, Apple
reject: yahoo, IBM, Amazon, Kronos, DELL, 威旭, 瞬聯, NVIDIA
OFFER: Google
拿到OFFER後婉拒面試: APPIER, MIXERBOX
Google面試timeline:
2022 7月中 投遞,隔天接到HR聯絡
2022 8月初 Phone interview通過
2022 8月中 告知hiring freeze
2023 4月中 新HR聯絡說他接手,但之後人就消失了,寄信也不回
2023 6月初 投遞 + 另外一位HR聯絡後隔天告知拒絕
2023 7月初 現任HR聯絡
2023 7月中 完成mock interview並收到回復可以沿用之前的phone interview
2023 7月底 onsite 技術3關
2023 8月初 G&L
2023 8月中 Team match,隔一工作天告知match上
2023 8月底 開始申請OFFER流程
2023 9月初 收到正式的口頭OFFER
2020 10月中 在最終審核卡了很久加上中國的長假後,收到了再次freeze的消息,只能重新match team
2023 11月初 成功match到新的team
2023 11月中 收到正式OFFER
我在這個過程中總共遇到4個HR,其中第一和最後一位都提供了非常多的協助,第一位在freeze兩個月後,在我詢問時還熱心的願意提供上海的職缺,只是被我婉拒了。
第四位在我幾乎絕望時把我的履歷撈起來後,願意提供mock interview機會,並且幫助我加速了不少的流程,我從收到她的第一次聯絡到開始走第一次OFFER流程只用了50天,如果不mock的話還能少10天左右,之後也迅速且有效地幫我再次排第二輪的team match,真的非常感謝。
技術面試經過:
mock interview(時長不定,純練習):
我遇到一個人很好的願意讓我選擇英文還是中文,我是選擇英文
題目他特意出了比較少見的class相關題目也就是給定要求,設計一個class
事後他很好心的向我詳細解釋我在過程中做得好的和做的不好的,並介紹的他的一些想法,也延長的討論的時間,對我的幫助很大
評價部分他是說他的話會給strong hire
vo1( 45分鐘 英文):
對方自我介紹後直接開始做題
一題pair sort相關的medium-hard左右的題目
我先開始確認題目內容
接著去掉題目不重要的部分
再開始大概講述自己的想法以及要做的解法
講完後問他make sence嗎 再作答
花了十分鐘左右寫完,並dry run測試
接著他問了我的作答用到的pair sort是怎樣運行的
我回答完就直接進到聊天環節
用不太好的英文尬聊了十幾分鐘後有些尷尬,他就說可以提前結束
所以就提前了十多分鐘結束,讓我一度感覺到有些危險
自我感覺lean hire 到 strong hire之間(感覺lean hire原因是提早結束加上只解一題)
vo2(45分鐘 中文)
開始先閒聊的詢問了我的履歷問題
一題unordered_map相關的問題 easy-medium
一題string相關問題 medium左右
兩題都是釐清問題後講述想法和解法後開始描寫,不過在map的遍歷方式有點忘記,是用假設的
寫完後沒時間了所以就開始聊天
自我感覺lean hire – hire
vo3(45分鐘 英文)
heap相關問題有follow up
在作答時,我問了些edge case,他說讓我自行檢查並處理,我自己感覺處理的還行
follow我是用 min heap解,但當他接著問max heap能不能解時我沒想到解法
接著就進入聊天環節,他分享了挺多在美國生活的狀況讓我學到很多
自我感覺 lean hire – strong hire
G&L (45分鐘 中文)
問些常見的BQ問題,我是按照amazon的那套LP的star標準根據自己project經驗制式化準備並回答的,我選擇不冒險中規中矩的回答,畢竟我是個毫無工作或實習經驗的人。
就是最後閒聊的時候他說回答的內容有些死板但可以理解。
自我感覺lean hire – hire
結果是全部都是 hire或更高,因此可以跳過HC,感謝各位面試官的耐心。
第一次Team match就是跟我投遞的組別的manager談
他先介紹他的組別內容
接著我問了一些我從一畝研究後找到一些的問題。
然後下一個工作天HR就打電話說match上了。
再來就開始走OFFER流程談薪水。
之後不幸的遇到freeze,再次match了兩個team,其中一個manager是外國人,主要都是介紹組別內容和問一些履歷相關內容,再面完第二個team的隔天收到了他願意收留我的消息,因為我對該team也挺有興趣所以就直接同意。
以上是我的面試過程,感謝在過程中提供履歷修改幫助的系上教授,和提供幫助的同學,以及過程中遇到的各位面試官和HR,讓我終於能夠不要再繼續啃老了。
準備方式:
我是沒有競賽經驗,我認為只要在學校有認真地學演算法,基礎是一定夠的,差的只是運用能力。
當然leetcode 還是有刷的,不過我沒有特別去刷題,而只是固定的去參加周賽鍛鍊自己在時間限制下的解題能力,並且在完賽後去看高手的像是lee215和steve的解答來學習,覺得自己寫的不錯的題目也會試著講解自己的作法並上傳解答,同時鍛鍊自己英文解釋code的能力。
另外就是要訓練自己想到哪或是寫到哪都要說出來這是在做甚麼,我的方法是寫leetcode的同時自言自語,有條件的也可以去找同學做mock interview。
我研究的結果和我個人的經驗是,基本上leetcode能夠穩定30分鐘寫完兩題絕大部分的medium(因為有些medium可能比hard更難)的人應該是不太會倒在純coding能力,遇到出難題的只要說出自己的分析並在對方的幫助下努力解一般也可以拿到Lean hire,除非你實在運氣太差,遇到個全心想擋掉你的。
更重要的是你的講解,溝通,理解能力以及coding style。
coding style簡單說就是記得空格,不要黏在一起,函數和變數名稱要有意義,不要a b c。
面試中沒時間,但是可以在寫的時候提到哪些內容可以獨立拉出去當作function或是class,能用structure代替用vector of pair這種用first second。
另外寫完一定要記得test,並找出bug,根據我mock時面試官的說法,寫出bug沒關係,重要的是能不能自己找出bug,如果可以自己找出BUG並改掉,甚至可能可以算是加分項。
以上就是我個人經驗,祝各位也能拿到好的OFFER。
最後不免俗的附上我的leetcode紀錄。
