注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号 
x
今年三月時突然收到臉家 recruiter 的電話要招比較 senior 的 MLEng,我是滿臉黑人問號,畢竟只有拿台灣大學學歷,畢業之後又只在一間台灣的新創做四年。嘛,不管,總之這樣的機會難得,就頭洗下去吧。
礙於 NDA ,沒辦法將面試細節講得很清楚,但我會把大方向講清楚。一共有電面 (四月) + onsite(七月) + follow-up 電面(九月)
先說一下我的背景:NTU 電機學士,畢業後在一家專做 Chatbot 的新創做 Data Scientist,兩年後升小主管,帶 5 人的 data team 作到現在剛好滿四年。平常工作其實比較多在做 ML backend engineering,所以稱不上什麼 data scientist。工作之餘有 contribute open source 的習慣,包含像 TensorFlow, PyTorch, Kaggler 都有我的足跡(可能是因為這樣才被 recruiter 看中吧)。在此之前完全沒有刷題的經驗,只有大學時候修過基礎的演算法。
OK 進入重點:
- 電面(四月)
三月收到 recruiter 的電話,簡單訪談之後就約四月線上技術面試。那個時候才開始驚覺自己沒在刷題,於是開始每天一到兩題的習慣,到四月真正面試,大約累積幾十題。
題目(共 45 min,我用 python,但協作時把 interpreter 關掉,所以就像白板面試):
- 把字串列表轉成
這關其實主要考得是能不能跟主考官來回討論作法,能不能提出各種解法,並分析各自的優劣,時間空間複雜度。似乎是比較少考需要奇技淫巧的題目。另外,HR 在信中特別強調 bug-free,但這點我不確定他們要怎麼在白板上驗證這件事。
- On-site (七月)
電面完後一週就收到 on-site 的通知,還說要準備多久都可以,本來想五月,但聽說 on-site 會有恐怖的關卡,加上已經好幾年沒講英文了,所以就約七月中去倫敦面試。
on-site 如同版上其他人分享的,完全對不到一開始的 cost function。甚至還不是 ranking 的演算法。
面試結束後心裡帶概也有個底,前三關應該是表現不錯,後兩關就搞砸了。而臉家應該是要求每關都達到要求才錄取。事後也證實了我的猜測。
- follow-up 電面(九月)
onsite 結束後一個月他們表示雖然 coding 和 behavior 都有達標,但對於我的 System Design 能力還有些疑慮。所以要補面一關。這關用 video conference,然後他們要我準備一塊白板,直接在上面作答然後透過視訊給考官看。有鑑於上次的教訓,我這次就瘋狂念 system design 的題目,到網路上到處找資訊。
用的資源:
- [url]https://www.educative.io/courses ... terview/B8rpM8E16LQ[/url] 蠻多題目可以練習的,但要錢
- https://www.interviewbit.com/cou ... nterview-questions/ 有涵蓋非常多基本觀念和題目,相當不錯
除此之外,為了增強口說,我還特地找去了 MIT 的同學,拜託他跟我練習幾次。
題目(共 45 min,九月初):
面試官是講的還蠻順的,initial approach 雖然頗糟的,但後面的修改就都有達到系統需求。只是因為我前面問問題問太久(~15 min),中間因為邊講邊思考,語速太慢,導致根本沒談到 scalling 和 ranking algorithm 的地方。
不過最後還是收到感謝信。
其實這幾個 system design 看起來,都沒有在一開始就問超大流量,算一算甚至單機就可以解決。又或者是我還沒有機會跟面試官討論到 scalling 的問題就結束了。
希望這份面經對各位有幫助,求大米:)
|