Facebook面試官:如何突圍大廠演算法面試?
「給你 a、b 兩個文件,他們各存放 50 億條 URL,其中每條 URL 各佔用 64 位元組,內存限制是 4G,請你編寫代碼找出 a、b 文件中相同的 URL」。這是某家大公司在 2016 年秋招時的一道筆試題。
你可以停下來先想想如果你正在面試,你會怎麼回答這道題。50 億條 URL,每個 64 位元組,加起來就是 320G,最簡單不用動腦筋的方法當然是把他們都載入到內存里,然後直接比對,但這麼大的數據量肯定是不可能。
進一步分析,你可能會想到要對文件做拆分,對 URL 做排序,然後逐步做分析對比。但是,這麼大的數據量,怎麼做?這個時候肯定是面試官要考驗你的關鍵點,你總不能說,我把 50 億條 URL,按從前到後的順序,拆分為 2000 個文件,然後每個文件挨個做對比,頂多多對比幾次,結果就出來了。是的,這樣能行,但是也就意味著你就被淘汰了。
其實,對於這樣的面試題,面試官想看到的是你能不能想到分治法、哈希,或者布隆過濾器之類的知識點。再換句話說,這道題其實是一道演算法題,而非簡單的一道程序題。
很多大公司在面試時都尤為看中候選人的演算法能力,他們甚至會讓候選人當場寫代碼。究其原因,其實是因為演算法的基礎能力也會直接決定一個程序員的好壞。用武俠小說來做比喻,演算法是「內功」,而編程的各種框架,就猶如各種「招式」。
是的,演算法對於一個程序員來說,至關重要。很多程序員發現自己的演算法基礎不好,於是便上 LeetCode 瘋狂刷題,但刷一年下來,發現其實自己沒什麼長進,面試的時候,面試官隨便換個問法,自己要麼緊張,要麼基礎不好,支支吾吾答不出來。
我從大學開始,就喜歡演算法,並且也曾拿到過 ACM 亞洲分區賽金牌。這些年,對於演算法類的面試題,我有很多的感觸。今天,我希望能夠通過「演算法面試通關 40 講」這個視頻課程,把我的經驗全部分享給你,這其中包括典型演算法題歸類和分析、演算法理論基礎、面試技巧、解題技巧等等。
劇透,文中有彩蛋
我是誰
我是覃超,曾在 Facebook 做工程師,作為 Facebook Messenger Tech Lead,參與了 Facebook App、Facebook Messenger、Facebook Phone 等產品的研發工作。其實,在同濟大學計算機專業就讀期間,我就對演算法和數據結構產生了濃厚的興趣,接觸了各種程序競賽,並且拿到了 ACM 亞洲分區賽金牌。得益於此,我從美國頂尖學府卡內基梅隆大學計算機專業畢業後,直接加入了 Facebook。
我在 Facebook 的 3 年時間裡,面試過數百位技術人,對於演算法面試的考察點和解題方式有豐富的第一手經驗。放眼網上現有的演算法和數據結構文章和教材,大多比較碎片化,經常會出現知識點覆蓋不足或者研究性內容過多的問題。因此,我希望通過這個課程幫你梳理一套演算法題切題的思路,同時,通過白板視頻的方式,手把手帶你現場解題,幫你徹底理解題目背後的考點,鍛煉演算法思維,讓你在面試和平時的工作中大顯身手。
你能獲得什麼?
「演算法面試通關 40 講」視頻課程共 40 講,我結合自己多年面試官的經驗,將高頻知識點和常見面試解題思路做了系統性的梳理和總結。學完我的這個課程,你可以收穫以下四個方面:
常見演算法知識點理論講解
在課程中,有近 40% 的篇幅是常見的演算法理論講解。對技術人員而言,計算機領域知識理論浩如煙海,該如何下手?面試中最常出現的演算法知識點是有規律可循的,基於我的總結,你應該可以找到學習的竅門。
高頻面試題目思路剖析
這個課程還包含 17 講得高頻面試題實戰演練。無論是矽谷公司還是國內一線大廠,在盲目刷題之前,我先從面試官的角度為你捋清出題思路,這樣你知己知彼,方能百戰百勝。
LeetCode 高效解題四步法
在大廠演算法面試中,只給出正確答案遠遠不夠。更重要的是,你要讓面試官看到自己清晰的解題思路以及良好的代碼素養。我總結出了適合大廠演算法面試的 LeetCode 高效解題四步法,教你用一套規範化的流程來應對面試中的演算法考察,幫你從面試中脫穎而出。
有效提升演算法面試通過率
這幾年,我一直致力於幫助更多技術人拿到理想 Offer,參加過我往期輔導的學員,面試通過率都呈幾何倍數提升,拿到矽谷及國內頂級互聯網公司 Offer 的成功率一直保持在 95% 以上。我相信你只要認真學了這套演算法面試通關方法論,離拿到心儀公司的 Offer 不會太遠。
限時訂閱福利
福利一:限時優惠價¥99 元,原價¥129 元,10 月 20 日恢復原價
福利二:每邀請一位好友購買,你可獲得 24 元現金返現,多邀多得,上不封頂,隨時提現。(提現流程:極客時間 App - 我的 - 分享有賞)
彩 蛋


※臉書、推特執行官表示目前無意來中國發展;大陸高薪吸引台灣晶元工程師;編程語言榜Python強勢殺入前三;谷歌成立二十年
※產品經理必修課——用戶細分與產品定位 | QCon上海
TAG:InfoQ |