已經(jīng)在Facebook工作了一段時間窥突,整個面試過程記憶還比較清楚,今天來這里分享一下我面試 facebook 的經(jīng)驗。
我申請的職位是software engineer, 投完簡歷后不久就收到了recruiter的通知,預(yù)約了電面。
電面
電面很簡單霜运,只有兩個簡單的問題,很容易解決蒋腮。但可能是因為這是我第一次電話面試淘捡,所以我當(dāng)時電面還是有些緊張。電面剛開始時緊張到面試官都在跟我說Don't worry池摧,后來想想沒什么可擔(dān)憂的焦除,被拒還可以再投嘛,心情也就慢慢平靜了下來作彤。
1.給定一個字符串膘魄,判斷其是否為一個回文串。只包含字母和數(shù)字竭讳,忽略大小寫创葡。
LintCode原題鏈接:http://www.lintcode.com/zh-cn/problem/valid-palindrome/
Solution鏈接:http://www.jiuzhang.com/solutions/valid-palindrome/
2.代碼庫的版本號是從 1 到n的整數(shù)。某一天绢慢,有人提交了錯誤版本的代碼灿渴,因此造成自身及之后版本的代碼在單元測試中均出錯。請找出第一個錯誤的版本號。
你可以通過 isBadVersion 的接口來判斷版本號 version 是否在單元測試中出錯
LintCode原題鏈接:http://www.lintcode.com/zh-cn/problem/first-bad-version/
Solution鏈接:http://www.jiuzhang.com/solutions/first-bad-version/
Onsite interview
電面完第二天骚露,recruiter就給我發(fā)了一封郵件蹬挤,說我通過了電面,可以去onsite了棘幸。
onsite一共進(jìn)行了四輪焰扳,四輪的面試官都很nice,沒有感覺有距離感的∥笮基本上四輪面試都是聊了聊之前的項目經(jīng)驗和幾個很常見的面試問題蓝翰。除此之外偶爾還聊了點別的,我挺喜歡這樣的工作氛圍女嘲,當(dāng)時很期待自己面試能通過和他們一起工作。
每一輪都會進(jìn)行coding诞帐,這里就放我記得還比較清楚的三道欣尼。
1.序列化是將數(shù)據(jù)結(jié)構(gòu)或?qū)ο筠D(zhuǎn)換為比特序列,以便將其存儲在文件或內(nèi)存緩沖區(qū)中停蕉,或在網(wǎng)絡(luò)連接鏈路上傳輸愕鼓,以便在同一個或另一個計算機(jī)環(huán)境中重建后的過程。
設(shè)計一個序列化和反序列化的二進(jìn)制樹算法慧起。沒有限制你的序列化/反序列化算法應(yīng)該工作菇晃。你只需要確保一個二叉樹可以被序列化為一個字符串,這個字符串可以反序列化到原來的樹結(jié)構(gòu)蚓挤。
LintCode原題鏈接:http://www.lintcode.com/zh-cn/problem/binary-tree-serialization/
Solution鏈接:http://www.jiuzhang.com/solutions/binary-tree-serialization/
2.給定一個文檔(Unix-style)的完全路徑磺送,請進(jìn)行路徑簡化。
LintCode原題鏈接:http://www.lintcode.com/zh-cn/problem/simplify-path/
Solution鏈接:http://www.jiuzhang.com/solutions/simplify-path/
3.LintCode : Sort Colors
LintCode原題鏈接:http://www.lintcode.com/zh-cn/problem/sort-colors/
Solutione鏈接:http://www.jiuzhang.com/solutions/sort-colors/
在最后一輪灿意,我遇到了一個難題估灿。面試官向我提供了一些提示后我做了出來。當(dāng)時等通知的時候還害怕因為這個過不了面試缤剧,所以后來收到通知拿到offer后真的是挺驚喜也很開心的馅袁。