前方學員爆料,FB面試問了一道hard題——LRU緩存策略,沒答出來直接跪了。
更可惜的是,這道題明明就在我們整理的禮包當中,沒仔細看過就和原題失之交臂…
另一位同學卻說面Google時遇到了禮包裡面的 find-union, trie,不僅過了面試,還拿到了strong hire。
如果你想衝擊大廠,今年碰到hard題的機率是非常大的。為了幫大家多一些上岸把握,我們放出《臉書/亞麻/谷歌80題(中高難度)》。拿到的同學千萬抓緊時間刷,別浪費「開卷」的機會!
部分截圖展示
完整禮包領取方式見文末
由于越來越多面試者在網上po面經,現在科技公司也在有意避開用一模一樣的題。
有谷歌和亞麻的面試官說:他們真的會在論壇搜面經,然後在原題基礎上改條件,或者通過follow up等方式來考察。
例如這道題:
給定n個沒有排序的數,找到第K小的數字
例子:
輸入:[3, 1, 2, 4, 5] K=3
輸出:3
解法:
解法:
QuickSelect, 每次用當前區間中間的數P作為門檻
小於P的數字放左邊,大於P的數字放右邊
如果左邊的數字個數>=K, 遞歸左邊
如果左邊的數字個數+1<K, 遞歸右邊,K-=左邊的數字個數+1
否則輸出P 平均時間複雜度O(n),最差時間複雜度O(n2)
好不容易解出來了,面試官又來了個follow up三連擊:
● 給定n個沒有排序的數組,找到第k大的數字
● 給定一個每行每列都遞增的矩陣,找到第k小的數字
● 給定兩個排好序的數組,在所有兩兩和中找到第k小的數字
很多小夥伴就算刷過原題,也會大腦一片空白。最根本的原因就是原題沒吃透,不懂得如何將掌握的知識歸納總結體系化。
關鍵在於摸清中高難度的數據結構和算法有哪些,以及面試官的follow up套路,問題就會迎刃而解。
算法強化班是《九章算法班》的進階課程,能幫你構建算法模型,更全面地掌握高級算法與數據結構知識,cover住大部分的算法難題,教你學一題,會一類!
即使遇到更高難度的數據結構,二分法和掃描線,動態規劃,follow up問題時也能輕鬆過關!
● 題目難度:medium50% + hard50%
● 新的解題思路和比較難的算法:Tire,併查集,單調棧,動態規劃優化
● 題目思路總結,舉一反三:解決follow up思路和構思過程
● 希望拿 Google/Facebook/Amazon 等大IT企業offer
● 不能有效解答中難題、變形題、follow up問題
● 上過九章算法班,還想進一步提升或有一定的算法基礎的同學
● 希望能夠在面試中得到 hire / strong hire
從解題思路到算法模板一站搞定
上過課的同學全是讚美之詞
👇
或點擊文末「閱讀原文」
小七將在1個工作日內發放禮包