一道簡單的算法題,把我問跨了!!!
“給你 a、b 兩個文件,各存放 50 億條 URL,每條 URL 占用 64 字節(jié),內(nèi)存限制是 4G,請你編寫代碼找出 a、b 文件中相同的 URL”,這是某大廠的一道秋招面試題。
如果面試的人是你,會怎么回答?50 億條 URL,每個 64 字節(jié),加起來就是 320G,最簡單不用動腦筋的方法,就是把他們加載到內(nèi)存里直接比對,但數(shù)據(jù)量太大,根本行不通。
進(jìn)一步分析,你可能會想到對文件做拆分,對 URL 做排序,然后逐步做分析。但數(shù)據(jù)量這么大,具體怎么做呢?總不能說,我把 50 億條 URL,按從前到后的順序,拆分為 2000 個文件,然后挨個對比,多做幾次,結(jié)果就出來了。
雖然這樣能行,但也意味著你會被淘汰。因?yàn)檫@就是面試官要考察的關(guān)鍵點(diǎn)。對這樣的題目,面試官想看到的是你能否想到分治法、哈希,或布隆過濾器之類的知識點(diǎn)。換句話說,這其實(shí)是一道算法題,而不是程序題。
不得不說,每家公司在面試時(shí)都會重點(diǎn)考察候選者的算法能力,甚至?xí)屇惝?dāng)場寫代碼。可以說,算法能力直接決定了一個程序員的好壞。用武俠小說做比喻,算法是“內(nèi)功”,而編程的各種框架,就猶如各種“招式”,內(nèi)功不扎實(shí),再多招式也只是花拳繡腿。
細(xì)數(shù)大廠的算法題,一般對應(yīng)都是 LeetCode 中級模式,想通過面試,還是得花時(shí)間好好準(zhǔn)備。我知道,不少人都有過在 LeetCode 瘋狂刷題的經(jīng)歷,但一年下來,發(fā)現(xiàn)自己沒什么長進(jìn),面試官隨便換個問法,就支支吾吾答不出來了。
其實(shí),刷題不能盲目,得找對方法。我認(rèn)識個人,在這方面可謂「專家」,他在同濟(jì)大學(xué)讀本科時(shí),就拿到了 ACM 亞洲分區(qū)賽金牌,從卡內(nèi)基梅隆大學(xué)畢業(yè)后,直接加入了 Facebook。作為 Facebook Messenger Tech Lead,參與了 Facebook App、Facebook Messenger、Facebook Phone 等產(chǎn)品的研發(fā)工作。
他就是前 Facebook 工程師覃超,在 Facebook 面試過上百個技術(shù)人,熟知算法面試的各項(xiàng)考點(diǎn)。所以,他總結(jié)了適合大廠算法面試的 LeetCode 高效解題四步法,手把手帶你實(shí)戰(zhàn)演練,目的是交付給你一套拿來即用的解題方法,幫你從面試中脫穎而出。
負(fù)責(zé)任地說,只要你認(rèn)真跟下來,吃透這套算法面試通關(guān)方法論,距離離拿到心儀公司的 Offer 就不遠(yuǎn)了。
最近,運(yùn)營和我說這門課馬上要漲價(jià)了,我覺得必須趁著最后的優(yōu)惠,把這門課推薦給你。
秒殺+口令「suanfa123」
到手 ¥89,即將漲價(jià)到 ¥199
現(xiàn)在網(wǎng)上的算法資料很多,但內(nèi)容大多比較碎片化,經(jīng)常會出現(xiàn)知識點(diǎn)覆蓋不足或者研究性內(nèi)容過多的問題。
而在《算法面試通關(guān) 40 講》中,覃超梳理了一整套算法題切題的思路,帶你現(xiàn)場解題,借此梳理題目背后的考點(diǎn),并掌握高頻算法面試題的解題思路,有效提升算法面試通過率。
課程共計(jì) 62 講,現(xiàn)已經(jīng)全部更新完畢。發(fā)文前看了一眼,訂閱 27000+ 了,口碑也不錯,隨手截了一些用戶留言,你們就知道這課多好了。

話不多說,看看目錄吧。

秒殺+口令「suanfa123」
到手 ¥89,即將漲價(jià)到 ¥199
幾十塊錢,買斷大佬的獨(dú)家心法,
馬上就漲價(jià)了,現(xiàn)在入手,值??
