限流:三种算法和真实部署
三种算法都说得出来 —— 那你那个阈值是怎么定的?
複製提示詞,選一家接著聊 —— 它會當面試官逐幕問你,而不是把答案倒給你。
手機上裝了對應 App 的,系統會直接開 App。微信裡點不開外部 App,得先用瀏覽器打開。
複製走的那段末尾帶著判卷用的底牌,別自己先讀 —— 自己推出來過才算學到。
算法表是第一层。第二幕开始问机制:固定窗口在窗口交界处会发生什么、两种桶对突发的态度差在哪、这个差别为什么决定你选哪个。
第三幕逼的是最容易露馅的一个数:你线上那个阈值是拍的还是压出来的,超过之后系统先垮在哪儿。
第四幕问部署:限流放在哪一层、十台机器怎么分这个阈值、单机限流在多实例下为什么会失效。第五幕问被限掉的请求该收到什么。
這一問壓在哪一塊
限流與過載
並行與鎖
這一份的正文在倉庫裡 (末尾就是底牌,點進去會看見)
練過沒有
登入之後可以記下「這道題我練過」,下次回來看得到是哪天練的。
練過的人寫的心得
還沒有人寫。練完之後,說說你和模型聊出了什麼 —— 哪一幕被問住了,哪個結論你後來改了。
怎麼用
這一批是拷問,不是講課 —— 它模擬的就是面試現場,答不上來是正常結局,它不會替你圓場,也不會在你說了半句之後幫你說完。想把某一塊學懂而不是練面試,去「電腦系統」「資料庫」「演算法」那幾個系列,那邊是引導姿態。
一句八股怎麼撐滿 40 分鐘:五層階梯
- 一層 · 定義 —— 這幾個詞各自是什麼、差別列幾條。答不上來說明沒背過。
- 二層 · 機制 —— 這個差別在系統裡具體是哪個結構、哪一步造成的。答不上來說明背過,但只背了結論。
- 三層 · 數字 —— 差多少?幾微秒、幾倍、幾次 IO。答不上來說明沒上過手。
- 四層 · 選擇 —— 給一個具體場景,選哪個、代價是什麼、什麼時候這個選擇是錯的。答不上來說明不會用。
- 五層 · 邊界 —— 你剛才那套說法在什麼情況下不成立。答不上來說明背得全,但沒真懂。
判卷線:到第四層才算能過面試,到第五層才算真的懂,只停在第一層的一律記成背的。
六幕,頭尾兩幕是這個系列獨有的
- 第一幕它不打斷、不點評、不提示 —— 讓你把現在背的那一版一口氣講完,錄下來當基線。它憋著不糾正你是故意的,別以為它沒在聽。
- 中間四幕按五層階梯往下挖,主戰場在第三幕的機制和數字上。
- 最後一幕掐 60 秒要你重講一遍,和開場那版並排比 —— 面試現場要交付的不是「我懂」,是一段說得出口的話。
怎麼開始
- 挑一份,點開它,把提示詞複製走。
- 新開一個空對話貼進去,什麼都別說,等它問第一個問題。
- 然後像面試一樣,把你背的那一版一口氣講完。講得爛沒關係 —— 那是基線,收尾時要拿它對照的。
- 後面它會開始追。答不上來是正常結局:這不是學習材料,是模擬面試。
中途隨時能喊的五個口令
跳过立刻進下一幕提示給一個提示,不是答案直说吧直接把完整答案講完重讲直接跳到最後一幕,重錄 60 秒版本並和開場版對比复盘立刻跳到收尾,輸出複盤卡片
三條坑
- 複製走的那段末尾帶著底牌,別自己先讀。這一批的底牌裡有一欄叫「背誦指紋」,寫的就是你大概率會脫口而出的那幾句原話 —— 看了就沒得練了。
- 別在該給數字的地方給形容詞。「快很多」「開銷很小」這類說法它會當場按住要數 —— 說得出結論、說不出數量級的,這一批一律記成背的。
- 最後兩組綁定語言:寫 Java 的做 Java 那組,寫 Go 的做 Go 那組。兩組不是互為翻譯,選題各選各的,不用都做。
一週內要面後端,就按「行程和執行緒」「TCP 和 UDP」「為什麼用 B+ 樹」「隔離級別」「穿透擊穿雪崩」「冪等」這條線走,這六道出現頻率最高而且互不重疊。被問麻了想補短板,先做「從輸入 URL 到頁面出來」—— 它會橫著把你的薄弱環節暴露一遍,再按暴露出來的方向挑。
登入之後可以寫心得。