← 返回博客
学习方法2026-09-16 21:30:044 分钟 · 1,307 0

费曼学习法第二步:假装给一个完全不懂的人讲一遍

费曼学习法的头两步,先挑一个值得讲的概念,再假装讲给外行听。讲不出来、只能说"就是那样"的地方,就是你没真懂的地方。

上篇把全景过了一遍。这一篇拆头两步:选概念和讲出来。这两步其实连在一起——你选的"概念"边界,决定了讲的时候会不会一脚踩进自己不懂的坑。

先选一个够小的概念

费曼学习法第一步是"选一个你想搞懂的概念"。听起来简单,很多人却栽在范围太大。

"学会 React""搞懂数据库"这种不算概念,算领域。你对着一张纸写"学会 React",写两句就发现要讲 JSX、虚拟 DOM、调度、Hooks 原理,越写越虚,最后变成目录,不是讲解。大脑的工作记忆一次装不下整棵知识树,范围一大,你只能用"这个我懂"把裂缝糊上,费曼法就失效了。

值得费曼的主题,应该小到能在一页纸内讲完因果。几个合格的例子:

"useState 在同一个事件里连续调用两次,为什么不会触发两次渲染?" "HTTPS 怎么保证中间人看不到我发的明文?" "为什么 async 函数里 throw 出来的错误能被外层的 try/catch 接住?"

判断标准就一条:你经常用到它,但有人问"为什么",你只能说出结论、说不出因果。这种"用到但讲不清"的东西,才是费曼学习法的猎物。

范围一旦定小,第二步才好讲。一次只猎一个,别贪。

讲出来的关键:写下来,不是脑内过

第二步叫"假装讲给一个外行听"。关键动作是"讲",而且最好写下来,不是只在脑子里过一遍。

脑子里过一遍有欺骗性。你以为自己讲通了,其实跳过了三个断点,因为大脑会自动补全逻辑。写下来就糊不了——纸不会替你接下句,你写不出,断点就明摆着。说和写还有一个区别:说可以靠语气和手势蒙过去,写必须逻辑闭环,读者不会替你脑补。

具体写法,几条经验:

设定听众:想象你在给一个完全没写过代码的朋友讲。如果你写了"HTTPS 用非对称加密交换密钥",他会愣住。外行听众逼你解释"加密"本身,这一逼,就把你偷懒的地方逼出来了。 术语当场解释:用了术语,就必须在同一段里把它讲掉。写"握手"的时候,得补一句"就是双方先对一下暗号,确认对面是真服务器"。 走因果而不是背定义:别写"闭包是函数记住作用域",写"你定义了这个函数,它带着外面的变量一起被存下来,所以之后调用还能读到"。前者是背定义,后者是走一遍因果。

一个完整的例子:讲 HTTPS 给外行

拿"HTTPS 怎么防中间人"练手。很多人讲到这里会卡在"证书"这一步。

试着写一版给外行听的:

你和我之间发消息,路上可能有人偷看。HTTPS 的做法是:先让一个我们都信任的第三方给服务器发一张"身份证",上面写着"这个公钥确实属于 wxbuluo.com"。我收到身份证,验证它是信任的第三方签的,就相信了。然后我用身份证上的公钥,把一个临时生成的钥匙加密发给服务器。只有真服务器有对应的私钥能解开,拿到这把临时钥匙。之后咱俩就用这把临时钥匙加密聊天,中间人没有私钥,解不开。

写到"证书机构怎么证明身份证是真的",如果你只能说"反正浏览器信它",那就是缺口——你没理解信任链(根证书、签名验证)。这正好引到第三步。

卡住的地方,就是缺口

讲的过程里,注意你自己的反应。两类信号最明显:

一种是写两句就停,脑子里只剩"它就是这样的",找不到因果链。 另一种是讲 A 需要引入 B,讲 B 又需要 C,你发现自己对 B、C 都是"好像是这样",整条链是悬空的。

这两类卡壳,就是第三步要回去补的地方。下一篇专门讲怎么补:回源头,不是再看一遍二手博客。

现在就能做的练习

挑一个你这周"用到但说不清"的概念,在备忘录里写 200 字,假装讲给从不写代码的朋友。不许用术语缩写,用了就当场解释。写到卡住的那句,圈出来——那就是你明天的补课单。

本文为原创文章,采用CC BY-NC-SA 4.0协议授权,转载请保留署名与原文链接。原文链接:https://www.wxbuluo.com/article/216