评审一段缓存代码
读缓存、写数据库、删缓存 —— 这三行的顺序里藏着一小时的脏数据。
複製提示詞,選一家接著聊 —— 它會當面試官逐幕問你,而不是把答案倒給你。
手機上裝了對應 App 的,系統會直接開 App。微信裡點不開外部 App,得先用瀏覽器打開。
複製走的那段末尾帶著判卷用的底牌,別自己先讀 —— 自己推出來過才算學到。
三个函数:读商品、更新商品、取热榜。都是日常写法,也都是线上真出过事的写法。
这一份追一个别的地方很少追的问题:脏数据会在缓存里待多久。 一次不一致和「一小时都不一致」是两回事,而说不出后面那个数的人,改法通常也是错的。
第三幕的中心问题是:先删缓存再更新库有窗口,那反过来就没有了吗? 两种顺序都有窗口,只是差几个数量级 —— 说得出这一句才算过。
這一段埋的主要是
快取
並行
這一份的正文在倉庫裡 (末尾就是底牌,點進去會看見)
練過沒有
登入之後可以記下「這道題我練過」,下次回來看得到是哪天練的。
練過的人寫的心得
還沒有人寫。練完之後,說說你和模型聊出了什麼 —— 哪一幕被問住了,哪個結論你後來改了。
怎麼用
材料是我們寫的:一段幾十行、看起來能跑的程式碼,按嚴重度埋了十條左右的問題。所以這個系列不用你帶自己的程式碼,打開就能練。
姿態是拷問:不許劇透、不許誇你、答不上來是正常結局。你說「這裡有並行問題」它不會放過你 —— 要你畫出兩列時間線,算出後果的規模。
怎麼開始
- 挑一份,點開它,把提示詞複製走。
- 新開一個空對話貼進去,它會先把那段程式碼原樣貼給你。
- 自己讀,把發現的問題一條條說完 —— 第一幕它不打斷也不提示。說完了再說一句「沒有了」。
中途隨時能喊的四個口令
跳过立刻進下一幕提示給一個方向,但不給答案直说吧講這一點的完整答案,然後繼續追代價复盘立刻跳到收尾,輸出複盤卡片
收尾給的是一個數
發現率:自己找到幾條、一共幾條、其中幾條是誤報。還有一個更難看的數 —— 你漏掉的裡有幾條屬於最嚴重那一檔(會丟錢、會洩漏資料、會把服務打掛)。那個數比總分有用。
三條坑
- 末尾的底牌就是那份問題清單,別自己先讀 —— 讀了這一份就沒得練了。
- 別報命名和風格。這裡考的是會不會丟錢、會不會洩漏資料,報風格會被記成一次誤報。
- 它開始誇你的時候,提醒它看「不要誇我」那條。被肯定的感覺會蓋掉「我漏了什麼」。
先做「轉帳」,它是這批裡問題最集中的一份;天天寫介面的直接做「列表介面」,那一份的越權和排序注入最容易在自己專案裡找到同款。做完哪一份都值得回去搜一遍自己的程式碼 —— 這批題真正的產出是收尾那三條可帶走的檢查項。
登入之後可以寫心得。