Loading... # 如何在工作中学习:实践复盘与知识积累方法论 # 一、概述 ## 1. 核心观点 大家平时都看过很多方法论的文章,看的时候很爽觉得非常有用,但是一两周后基本还是老样子了。其中有很大一部分原因是那些方法对脑力有要求,或者方法论比较空缺少落地的步骤。 本文描述的方式方法是不需要智商也能学会的,非常具体可以复制。 ## 2. 值得思考的问题 高考的时候大家都是一样的教科书,同一个教室,同样的老师辅导,时间精力基本差不多,可是最后别人考的是清华北大或者一本,而你的实力只能考个三本,为什么? 当然这里主要是智商的影响,那么其他因素呢?智商解决的问题能不能后天用其他方式来补位一下? # 二、关键问题点 ## 1. 核心问题 解决问题的能力就是从你储蓄的知识中提取到方案,差别就是知识储存能力和运用能力的差异。 ## 2. 为什么你的知识积累不了? 有些知识看过就忘、忘了再看,实际碰到问题还是联系不上这个知识,这其实是知识的积累出了问题,没有深入理解好自然就不能灵活运用,也就谈不上解决不了问题。 这跟大家一起看相同的高考教科书但是高考结果不一样。问题出在了理解上,每个人的理解能力不一样(智商),绝大多数人对知识的理解要靠不断地实践(做题)来巩固。 ## 3. 同样实践效果不一样? 同样工作一年碰到了10个问题(或者说做了10套高考模拟试卷),但是结果不一样,那是因为在实践过程中方法不够好。或者说你对你为什么做对了、为什么做错了没有去分析,存在一定的瞎蒙成分。 假如碰到一个问题,身边的同事解决了,而我解决不了。那么我就去想这个问题他是怎么解决的,他看到这个问题后的逻辑和思考是怎么样的,有哪些知识指导了他这么逻辑推理。 这些知识哪些我也知道但是我没有想到这么去运用推理(说明我对这个知识理解的不到位导致灵活运用缺乏);这些知识中又有哪些是我不知道的(知识缺乏,没什么好说的快去Google什么学习下——有场景案例和目的加持,学习理解起来更快)。 等你把这个问题基本按照你同事掌握的知识和逻辑推理想明白后,需要再去琢磨一下他的逻辑推理解题思路中有没有不对的,有没有啰嗦的地方,有没有更直接的方式(对知识更好地运用)。 我相信每个问题都这么去实践的话就不会再抱怨为什么自己做不到灵活运用、举一反三,同时知识也积累下来了,实战场景下积累到的知识是不容易忘记的。 这就是向身边的牛人学习,同时很快超过他的办法。这就是为什么高考前你做了10套模拟题还不如其他人做一套的效果好的原因。 `★ Insight ─────────────────────────────────────` **能力公式**:知识+逻辑 基本等于你的能力 - 知识让你知道那个东西 - 逻辑让你把东西和问题联系起来 碰到问题如果你连相关知识都没有就谈不上解决问题。有时候碰到问题被别人解决后你才发现有相应的知识贮备,但还不能转化成能力,那就是你只是知道那个知识点,但理解不到位、不深,也就无法实战了。 `─────────────────────────────────────────────────` # 三、系统化知识与逻辑培养 ## 1. 系统化的知识哪里来? 知识之间是可以联系起来的并且像一棵大树一样自我生长,但是当你都没理解透彻,自然没法产生联系,也就不能够自我生长了。当我们讲到入门了某块的知识的时候一般是指的对关键问题点理解清晰,并且能够自我生长,也就是滚雪球一样可以滚起来了。 但是我们最容易陷入的就是掌握的深度、系统化(工作中碎片时间过多,学校里缺少实践)不够。所以一个知识点每次碰到花半个小时学习下来觉得掌握了,但是3个月后就又没印象了。总是感觉自己在懵懵懂懂中,或者一个领域学起来总是不得要领。 根本的原因还是在于: - 宏观整体大图了解不够(缺乏体系,每次都是盲人摸象) - 关键知识点深度不够,理解不透彻 这些关键点就是这个领域的骨架、支点、抓手。缺了抓手自然不能生长,缺了宏观大图容易误入歧途。 我们有时候发现自己在某个领域学起来特别快,但是换个领域就总是不得要领,问题出在了上面,即使花再多时间也是徒然。这也就是为什么学霸看两个小时的课本比你看两天效果还好。 `★ Insight ─────────────────────────────────────` **新领域学习要点**:所以新进入一个领域的时候要去找他的大图和抓手。 好的书籍或者培训总是能很轻易地把这个大图交给你,再顺便给你几个抓手,你就基本入门了,这就是培训的魅力,这种情况肯定比自学效率高多了。但是目前绝大部分的书籍和培训都做不到这点。 `─────────────────────────────────────────────────` ## 2. 好的逻辑又怎么来? **实践、复盘** 逻辑可以理解为:元认知能力(思考方式、思路,像教练一样反复在大脑里追问为什么)。 我们说能力强的人比如在读书的时候,他们读到的不仅仅是文字以及文字所阐述的道理,他们更多注意到的是作者的"思考方式",作者的"思考方式"与自己的"思考方式"之间的不同。 若是作者的"思考方式"有可取之处的话,自己的"思考方式"要做出哪些调整?于是,一本概率论读完,大多数人就是考个试也不一定能及格,而另外的极少数人却成了科学家——因为他们改良了自己的思考方式,从此可以"像一个科学家一样思考"…… # 四、案例分析:数据库连接慢问题 ## 1. 问题场景 应用刚启动连接到数据库的时候比较慢,但又不是慢查询。 ## 2. 三种解决方式对比 ### 方式一:通过网络抓包分析 这位同学的解决办法是通过 tcpdump 来分析网络通讯包,看具体卡在哪里把这个问题硬生生地给找到了。 ### 方式二:通过 DBA 专业视角 如果是专业的 DBA 可能会通过 show processlist 看具体连接在做什么,比如看到这些连接状态是 authentication 状态,然后再通过 Google 或者对这个状态的理解知道创建连接的时候 MySQL 需要反查 IP、域名这里比较耗时,通过配置参数 skip-name-resolve 跳过去就好了。 ### 方式三:经验驱动 如果是 MySQL 的老司机,一上来就知道 skip-name-resolve 这个参数要改改默认值。 ## 3. 方式评价 在我眼里这三种方式都解决了问题,最后一种最快但是纯靠积累和经验,换个问题也许就不灵了;第一种方式是最牛逼和通用的,只需要最少的业务知识+方法论就可以更普遍地解决各种问题。 `★ Insight ─────────────────────────────────────` **学习方法实操**:我当时跟着他从 sudo、ls 等 linux 命令开始学起。当然我不会轻易去打搅他问他,每次碰到问题我尽量让他在我的电脑上来操作,解决后我**再自己复盘**,通过 history 调出他的所有操作记录,看他在我的电脑上用 Google 搜啥了,然后一个个去学习分析他每个动作,去想他为什么搜这个关键字。 复盘完还有不懂的再到他面前跟他面对面的讨论他为什么要这么做,指导他这么做的知识和逻辑又是什么(这个动作没有任何难度吧,你照着做就是了,实际我发现绝对不会有 10% 的同学会去分析 history 的,而我则是通过 history 搞到了各种黑科技)。 `─────────────────────────────────────────────────` # 五、场景式学习与体感培养 ## 1. 什么场景式学习? 前面提到的对知识的深入理解这有点空,如何才能做到深入理解?答案是通过实践培养体感。 ## 2. TCP 三次握手学习例子 经历稍微丰富点的工程师都觉得 TCP 三次握手看过很多次、很多篇文章了,但是文章写得再好似乎当时理解了,但是总是过几个月就忘了或者一看就懂,过一阵子被人一问就模模糊糊了,或者多问两个为什么就答不上了,自己都觉得自己的回答是在猜或者不确定。 为什么会这样呢?而学其它知识就好通畅多了,我觉得这里最主要的是我们对 TCP 缺乏**体感**。 比如没有几个工程师去看过 TCP 握手的代码,也没法想象真正的 TCP 握手是如何在电脑里运作的(打电话能给你一些类似的体感,但是细节覆盖面不够)。 ## 3. 如何培养体感? 如果这个时候你一边学习的时候一边再用 wireshark 抓包看看三次握手具体在干什么、交换了什么信息,比抽象的描述具象实在多了。 你能看到握手的一来一回,并且看到一来一回带了哪些内容,这些内容又是用来做什么、为什么要带,这个时候你再去看别人讲解的理论顿时会觉得好理解多了,以后也很难忘记。 `★ Insight ─────────────────────────────────────` **舒适区陷阱**:只看不动手当然是最舒适的,但是这个最舒适给了你在学习的假象,没有结果。 这是不是跟你要解决一个难题非常像,这个难题需要你去做很多事,比如下载源代码(翻不了墙,放弃);比如要编译(还要去学习那些编译参数,放弃);比如要搭建环境(太琐屑,放弃)。 你看这中间九九八十一难你放弃了一难都取不了真经。这也是为什么同样学习、同样的问题,他能学会,他能解决,你不可以。 `─────────────────────────────────────────────────` # 六、工程效率与知识效率 ## 1. 两种效率类型 有些人纯看理论就能掌握好一门技能,还能举一反三,这是**知识效率**,这种人非常少; 大多数普通人都是看点知识然后结合实践来强化理论,要经过反反复复才能比较好地掌握一个知识,这是**工程效率**,讲究技巧、工具来达到目的。 ## 2. 效率评价 肯定知识效率最牛逼,但是拥有这种技能的人毕竟非常少(天生的高智商吧)。从小我们周边那种不怎么学的学霸型基本都是这类,这种学霸都还能触类旁通非常快的掌握一个新知识,非常气人。 剩下的绝大部分只能拼时间+方法+总结等也能掌握一些知识。 非常遗憾我就是工程效率型,只能羡慕那些知识效率型的学霸。但是这事又不能独立看待,有些人在某些方向上是工程效率型,有些方向就又是知识效率型(有一种知识效率型是你掌握的实在太多也就比较容易触类旁通了,这算灰色知识效率型)。 使劲挖掘自己在知识效率型方面的能力吧,两者之间当然没有明显的界限,知识积累多了逻辑训练好了在别人看来你的智商就高了。 # 七、知识分类 知识分两种: - 一种是通用知识(不是说对所有人通用,而是说在一个专业领域去到哪个公司都能通用) - 另外一种是跟业务公司绑定的特定知识 通用知识没有任何疑问碰到后要非常饥渴地扑上去掌握他们(受益终生,这还有什么疑问吗?)。对于特定知识就要看你对业务需要掌握的深度了,肯定也是需要掌握一些的,特定知识掌握好的一般在公司里混的也会比较好。 # 八、案例学习示例 通过一个小问题,花上一周看源代码、做各种实验反复验证,把这里涉及到的知识全部拿下,同时把业务代码、内核配置、出问题的表征、监控指标等等都连贯起来,**要么不做要么一杆到底**。 例如:就是要你懂 TCP——性能和发送接收 Buffer 的关系:发送窗口大小(Buffer)、接收窗口大小(Buffer)对 TCP 传输速度的影响,以及怎么观察窗口对传输速度的影响。BDP、RT、带宽对传输速度又是怎么影响的。 # 九、总结 ## 1. 核心方法论 - **场景式学习**:带着实际问题去学习,而不是空泛地看理论 - **实践复盘**:解决问题的过程中要复盘思考逻辑,理解为什么这样做 - **一杆到底**:遇到问题要么不做,要么彻底搞懂所有相关知识点 ## 2. 落地原则 不喊空洞口号(举一反三、灵活运用、活学活用、多做多练),而是提供能复制的具体做法。 不要那些抽象的套路,主要是不一定适合你和能复制。 ## 3. 适用人群 绝大多数普通人都是工程效率型,需要通过: - 时间投入 - 正确方法 - 持续总结 才能真正掌握知识并转化为能力。 *** ## 参考资料 1. [如何在工作中学习 | plantegg](https://plantegg.github.io/2018/05/23/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%B7%A5%E4%BD%9C%E4%B8%AD%E5%AD%A6%E4%B9%A0/) 2. [就是要你懂TCP——性能和发送接收Buffer的关系](https://plantegg.github.io/2019/09/28/%E5%B0%B1%E6%98%AF%E8%A6%81%E4%BD%A0%E6%87%82TCP--%E6%80%A7%E8%83%BD%E5%92%8C%E5%8F%91%E9%80%81%E6%8E%A5%E6%94%B6Buffer%E7%9A%84%E5%85%B3%E7%B3%BB/) 3. [三个故事](https://plantegg.github.io/2022/01/01/%E4%B8%89%E4%B8%AA%E6%95%85%E4%BA%8B/) 最后修改:2026 年 01 月 31 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏