malloc 返回之后,内存就归你了吗
8GB 的机器上 malloc(4GB) 两次,会成功吗?
複製提示詞,選一家接著聊 —— 它會當面試官逐幕問你,而不是把答案倒給你。
手機上裝了對應 App 的,系統會直接開 App。微信裡點不開外部 App,得先用瀏覽器打開。
複製走的那段末尾帶著判卷用的底牌,別自己先讀 —— 自己推出來過才算學到。
第一幕是三个预测题,先让你猜,不评价对错 —— 然后用它们把「malloc 给的是账,不是内存」这件事逼出来。
这块东西线上天天用得到:为什么 free 了内存没降、为什么 VSZ 几十 GB 是正常的、为什么内存泄漏不一定表现为一直涨(碎片也这样),以及最要紧的那一条 —— 内存不够时程序不会崩在 malloc 那一行。
這一份練的是
分頁與位址轉換
使用者態與核心態
這一份的正文在倉庫裡 (末尾就是底牌,點進去會看見)
練過沒有
登入之後可以記下「這道題我練過」,下次回來看得到是哪天練的。
練過的人寫的心得
還沒有人寫。練完之後,說說你和模型聊出了什麼 —— 哪一幕被問住了,哪個結論你後來改了。
怎麼用
這一批是學習型的:它會引導你,不會追到你說不出話為止。卡住時它先問你卡在哪一層(沒聽過 / 知道但不明白為什麼 / 明白但用不上),再決定給什麼;同一個點引導兩次還不通才直接講,講完要你用自己的話複述一遍。
它會一直逼你算數:答「有開銷」「比較快」會被打斷。說得出結論說不出數字,就是背的 —— 這批練的就是這個。
怎麼開始
- 挑一份,點開它,把提示詞複製走。
- 新開一個空對話貼進去,什麼都別說,等它問第一個問題。
- 準備好被追問數量級:幾奈秒、幾微秒、差幾倍。答不上來就說不知道,它會記一筆然後繼續。
中途隨時能喊的四個口令
跳过立刻進下一幕换个说法這一處換個角度再講一遍直说吧講完整答案,然後要我複述复盘立刻跳到收尾,輸出復盤卡片
三條坑
- 末尾的底牌別自己先讀 —— 那一欄「常見的想錯」寫的就是每一問的答案。
- 別急著拋名詞。說出「這是 TLB miss」很容易,說出它比缺頁快多少才算會。
- 它開始誇你的時候,提醒它看「不許誇我」那條。引導不等於哄。
想補數量級感先做「隨機讀」和「首位元組」;線上排查用得上的是「malloc」「TCP 卡住」「上下文切換」;寫多執行緒程式做「重排序」和「偽共享」。
登入之後可以寫心得。