Kacam.net看開網

看見世界

面試快問:一句八股,往下挖五層

題目就是面試官會開口的那一句原話 ——「行程和執行緒的差別」「TCP 和 UDP 的差別」。名詞解釋不是終點,是起點:它從你背的那一版開始,按五層階梯一路往下追,最後要你掐 60 秒重講一遍。

這批提示詞目前只有简体中文的,其他語言還沒有。

怎麼用

這一批是拷問,不是講課 —— 它模擬的就是面試現場,答不上來是正常結局,它不會替你圓場,也不會在你說了半句之後幫你說完。想把某一塊學懂而不是練面試,去「電腦系統」「資料庫」「演算法」那幾個系列,那邊是引導姿態。

一句八股怎麼撐滿 40 分鐘:五層階梯

  • 一層 · 定義 —— 這幾個詞各自是什麼、差別列幾條。答不上來說明沒背過。
  • 二層 · 機制 —— 這個差別在系統裡具體是哪個結構、哪一步造成的。答不上來說明背過,但只背了結論。
  • 三層 · 數字 —— 差多少?幾微秒、幾倍、幾次 IO。答不上來說明沒上過手。
  • 四層 · 選擇 —— 給一個具體場景,選哪個、代價是什麼、什麼時候這個選擇是錯的。答不上來說明不會用。
  • 五層 · 邊界 —— 你剛才那套說法在什麼情況下不成立。答不上來說明背得全,但沒真懂。

判卷線:到第四層才算能過面試,到第五層才算真的懂,只停在第一層的一律記成背的。

六幕,頭尾兩幕是這個系列獨有的

  • 第一幕它不打斷、不點評、不提示 —— 讓你把現在背的那一版一口氣講完,錄下來當基線。它憋著不糾正你是故意的,別以為它沒在聽。
  • 中間四幕按五層階梯往下挖,主戰場在第三幕的機制和數字上。
  • 最後一幕掐 60 秒要你重講一遍,和開場那版並排比 —— 面試現場要交付的不是「我懂」,是一段說得出口的話。

怎麼開始

  1. 挑一份,點開它,把提示詞複製走。
  2. 新開一個空對話貼進去,什麼都別說,等它問第一個問題。
  3. 然後像面試一樣,把你背的那一版一口氣講完。講得爛沒關係 —— 那是基線,收尾時要拿它對照的。
  4. 後面它會開始追。答不上來是正常結局:這不是學習材料,是模擬面試。

中途隨時能喊的五個口令

  • 跳过 立刻進下一幕
  • 提示 給一個提示,不是答案
  • 直说吧 直接把完整答案講完
  • 重讲 直接跳到最後一幕,重錄 60 秒版本並和開場版對比
  • 复盘 立刻跳到收尾,輸出複盤卡片

三條坑

  • 複製走的那段末尾帶著底牌,別自己先讀。這一批的底牌裡有一欄叫「背誦指紋」,寫的就是你大概率會脫口而出的那幾句原話 —— 看了就沒得練了。
  • 別在該給數字的地方給形容詞。「快很多」「開銷很小」這類說法它會當場按住要數 —— 說得出結論、說不出數量級的,這一批一律記成背的。
  • 最後兩組綁定語言:寫 Java 的做 Java 那組,寫 Go 的做 Go 那組。兩組不是互為翻譯,選題各選各的,不用都做。

一週內要面後端,就按「行程和執行緒」「TCP 和 UDP」「為什麼用 B+ 樹」「隔離級別」「穿透擊穿雪崩」「冪等」這條線走,這六道出現頻率最高而且互不重疊。被問麻了想補短板,先做「從輸入 URL 到頁面出來」—— 它會橫著把你的薄弱環節暴露一遍,再按暴露出來的方向挑。

作業系統與並行

进程和线程的区别
「进程是资源分配的最小单位,线程是 CPU 调度的最小单位」—— 然后呢?
★★★☆☆ · 約 45 分鐘
同步、异步、阻塞、非阻塞
「同步就是要等,异步就是不用等」—— 这句说完,问题才刚开始。
★★★★☆ · 約 40 分鐘
select、poll、epoll 的区别
「select 有 1024 限制、epoll 是 O(1)」—— 两句都对,但都不是答案。
★★★★☆ · 約 40 分鐘
死锁:怎么产生、怎么破、怎么查
四个条件背得滚瓜烂熟 —— 那你们代码里真的破了哪一条?
★★★☆☆ · 約 40 分鐘
乐观锁和悲观锁
「乐观锁假设不会冲突」—— 那你说得出你们那张表的冲突率吗?
★★★☆☆ · 約 35 分鐘
线程池的参数怎么定、满了会怎样
参数表说得出来的人很多,说得出这几个参数谁先谁后的很少。
★★★☆☆ · 約 40 分鐘

網路

TCP 和 UDP 的区别
「TCP 可靠、UDP 不可靠」—— 那「可靠」到底承诺了什么?
★★★☆☆ · 約 40 分鐘
三次握手为什么不是两次、TIME_WAIT 为什么是 2MSL
「三次是为了确认双方收发能力正常」—— 举一个两次会出事的例子。
★★★★☆ · 約 40 分鐘
HTTPS 凭什么安全(TLS 握手)
「HTTP + SSL,用非对称加密」—— 那你的数据是非对称加密的吗?
★★★★☆ · 約 45 分鐘
从输入 URL 到页面出来
全系列最长的一道。它会在你讲到一半时打断你 —— 这才是真实的面试。
★★★★☆ · 約 50 分鐘
HTTP/1.1、2、3 的区别
「HTTP/2 有多路复用所以更快」—— 那它把队头阻塞解决干净了吗?
★★★★☆ · 約 40 分鐘
Cookie、Session、Token、JWT
「token 存客户端所以更好扩展」—— 那你怎么让一个 token 立刻失效?
★★★☆☆ · 約 40 分鐘
四层和七层负载均衡
「四层快、七层功能多」—— 差别其实只有一条,你说得出是哪条吗?
★★★☆☆ · 約 35 分鐘

資料庫

为什么索引用 B+ 树,不用哈希、B 树、跳表
「B+ 树效率高、适合范围查询」—— 那为什么不是哈希、B 树、跳表?
★★★★☆ · 約 40 分鐘
四种隔离级别、幻读到底是什么
「可重复读解决了幻读」—— 真的解决干净了吗?给个反例。
★★★★☆ · 約 40 分鐘
MVCC 是怎么实现的
「多版本,读不加锁」—— 那「多版本」具体存在哪儿?
★★★★☆ · 約 40 分鐘
redo log、undo log、binlog 和两阶段提交
全系列最难的几道之一:崩溃恰好发生在那一瞬间,数据还对得上吗?
★★★★★ · 約 45 分鐘
分库分表之后,你失去了什么
「数据量大了就分库分表」—— 分完之后,你失去了什么?
★★★★☆ · 約 40 分鐘

快取與訊息

Redis 为什么快、「单线程」指的是哪一部分
「基于内存、单线程、多路复用,所以快」—— 那「单线程」指的是哪一部分?
★★★☆☆ · 約 40 分鐘
缓存穿透、击穿、雪崩
穿透、击穿、雪崩 —— 先别说方案,说清你指的是哪一种。
★★★☆☆ · 約 35 分鐘
缓存和数据库怎么保持一致
「先更新数据库再删缓存」—— 那这套做法的反例长什么样?
★★★★☆ · 約 40 分鐘
RDB、AOF 和主从复制
「有持久化也有主从,所以不会丢」—— 那主库挂掉那一刻呢?
★★★★☆ · 約 40 分鐘
分布式锁怎么做才对
「setnx 加个过期时间就行」—— 然后它会一个一个坑问过来。
★★★★☆ · 約 40 分鐘
消息怎么做到不丢不重
「生产确认 + 持久化 + 手动 ACK,就不丢不重了」—— 真的吗?
★★★★☆ · 約 40 分鐘

分散式與架構

CAP 和 BASE
「三个里只能选两个」—— 那你真的有得选吗?
★★★★☆ · 約 35 分鐘
分布式事务几种方案怎么选
全系列最难的几道之一。先证明你真的需要它。
★★★★★ · 約 45 分鐘
分布式 ID 怎么生成
「雪花算法:时间戳 + 机器号 + 序列号」—— 那机器号谁给你分?
★★★☆☆ · 約 35 分鐘
限流:三种算法和真实部署
三种算法都说得出来 —— 那你那个阈值是怎么定的?
★★★★☆ · 約 40 分鐘
幂等怎么设计
「加张去重表判断一下」—— 先说清:谁在重复,多久内算重复?
★★★★☆ · 約 35 分鐘
熔断、降级、隔离
「熔断降级保证稳定」—— 熔断打开那一刻,用户看到的是什么?
★★★☆☆ · 約 35 分鐘

Java 與 JVM

Java 是值传递还是引用传递
「基本类型值传递、对象引用传递」—— 这是一个错误答案。
★★★☆☆ · 約 35 分鐘
JVM 内存区域,一个对象的一生
区域图谁都会画 —— 那跟着一个对象走一遍呢?
★★★★☆ · 約 40 分鐘
GC 怎么判断垃圾、一次 Full GC 意味着什么
全系列最难的几道之一:你线上一次 Full GC 停多久、上次是什么触发的?
★★★★★ · 約 45 分鐘
HashMap 的原理、它的线程不安全表现在哪
「数组 + 链表 + 红黑树,负载因子 0.75」—— 那容量为什么必须是 2 的幂?
★★★★☆ · 約 40 分鐘
synchronized 和 Lock、锁升级四个状态
锁升级四个状态背得出来 —— 那每一级到底省了哪一笔开销?
★★★★☆ · 約 40 分鐘
OOM 和内存泄漏怎么定位
「dump 下来用工具看一下」—— 先说清,它报的是哪一种 OOM?
★★★★☆ · 約 40 分鐘

Go 與執行期

GMP 调度模型
「G 是协程、M 是线程、P 是处理器」—— 那为什么非要有 P?
★★★★☆ · 約 40 分鐘
channel 的底层和 select
「无缓冲 channel 会阻塞」—— 它是一个长度为 0 的队列吗?
★★★★☆ · 約 40 分鐘
slice 和 map 的那些坑
「slice 是动态数组」—— 那把它传进函数改一下,外面看得见吗?
★★★★☆ · 約 40 分鐘
defer、panic、recover
「defer 延迟执行、后进先出」—— 那它的参数是什么时候求值的?
★★★★☆ · 約 35 分鐘
逃逸分析:这个变量在栈上还是堆上
「返回局部变量的指针就会逃逸」—— 那判据到底是什么?
★★★☆☆ · 約 35 分鐘
Go 的 GC 和 STW 到底停多久
全系列最难的几道之一:「STW 很短」—— 短到多少,停在哪两处?
★★★★★ · 約 40 分鐘
這些提示詞是開源的 正文在 kacam-net/hero-prompts 這個公開倉庫裡維護。覺得哪一份問得不夠狠、底牌漏了一條,歡迎去改 —— 站上要不要上架是另一回事,由這邊的清單說了算。