读书的飞轮

本文主要摘录自知乎-阿莱克西斯的回答(原文链接:https://www.zhihu.com/question/45216002/answer/544008920)。作为一个跨考的研究生,主要学习问题还是自学的方法不够完善。希望通过多阅读和记录前辈们的文章,来达到将其转化为自己思想、能力的目的。

自学的方法

关于自学计算机,我的看法恰恰和很多人相反,不是多练,多记,而是多看,多读,不怕忘记,不要怕用不到。(练习只作为探索,思考的延伸,而不是为了加强记忆)

对于这点,我有相同的感受。虽然知乎里轮子哥说,重点是多练,编程是“唯手熟尔”的工作。但是通过半年的学习,除了基础的算法能过通过不断的重复和再实现达到快速编程,很多项目需要的工具、框架,都是一边比较各种工具的特点,一边看文档开始写作。况且计算机软件行业更新迭代速度十分快,如果说这一年熟练掌握了SSM框架之类,但是难保五年之后是否仍工作在填写框架这种层面。

看书看论文, 记笔记。让知识自我淘汰,利用飞轮效应,让读书的飞轮转起来,看的多,所以学得快,学的快,就能看的更多,那么就学的更快,由于transfer learning的效应,甚至可以触类旁通。 思维,是比行为要快的多的,在脑内演练,在脑内做练习,在脑里写程序,run,判断结果,比真正写出来快的多。

一个学习方法的小总结。不过我也有自己的疑问,看书的时候觉得树上的程序例子十分好理解,但是跑起来的时候总是因为版本、环境的不同,出现各种各样的问题。程序员的很大一部分时间都是花在配置环境、调试bug,好让程序能够顺利运行起来。

怎么读书

  1. 没有看起来的那么快,别看我有时候一天就刷完一本书,一周就刷完一本砖块;其实真正花的时间是很多的。遇到能“抓住”我的书,看到夜里1,2点那是经常的。
  2. 碎片时间都利用起来了,我很多书都有电子版的,放手机里。平时坐车,吃饭,xxx,xxx等。有时间就拿出来看看
  3. 看书的目标不是“记住”,而是看懂和打标记。这样以后需要用到了,能很快找到在“哪里看到过”;并轻松的把忘记的东西拾起来
  4. 读书的飞轮: 技术书会越读越快,大家读小说会比读技术书快很多。因为读小说不需要什么预备知识就能读懂。而技术书都需要预备知识储备(比如理解B需要理解A),和“理解储备”(即同一个类似的东西我已经在其他地方理解过一次了,所以对于当前的东西则触类旁通,话说有点像deep learning里的transfer learning )。而你读过的书越多,造成你理解困难的点就越少。比如最近案例的scala shapeless那本书100多页,给PLT和懂functional programming的真“大神”来看,不会花他们超过半小时的时间(我大概用了1天看完)
  5. 知识的价值是不同的,我们要判断重要性而选择性阅读,比如我对security这个问题很不感兴趣,而且一般这部分知识都是很独立的,所以比如在读(简评)Kubernetes In Action(大势所趋) 这本的时候,就把security相关的章节全都跳过了(真的需要用到的时候,我们有团队的security专家)。还有比如怎么安装,怎么在UI上一步一步操作,基本也是一扫而过,以后真的需要操作的时候记得这里有讲就好。我判断是否跳过的关键是:这段知识是否能成为我理解其他重要知识的踏脚石,当必须要理解A才能理解B,那么A这个知识的价值就根据B的价值大小有一个增量。即:B越重要,A则越重要。
  6. 读书飞轮的效果,不在于一朝一夕你学会了什么,能做什么,吃透了什么。而在于大量的阅读的一年一年的积累,创造让别人无法建立的知识壁垒去获得别人(同等智力)无法获得的理解力,推理力,知识联系力,从而提高自己学习,或者知识的效率和速度。
  7. 如果你不理解的一个东西在一年2年的积累阅读里都没有从别的地方得到灵感来解惑,要么是因为这个东西不重要,要么就是因为你还没有积累够阅读量,或者没有把相关问题的,散布在不同书里,不同角度的知识抽出来好好总结。读书的飞轮的一个威力就是通过增加新的知识来理解目前不理解的问题,而不是逼着自己一定要在知识不完全的情况下吃透一本书。
  8. 读书的飞轮在于把读书的目的变为更加速度的攻克/理解更多的知识,找出知识间的联系而更加效率的掌握新的知识,而不在于能立刻用现在学到的知识干什么. 如果一个人的知识状态是N个知识,那么你想增加一个知识点,让N+1,只能参考你已有的知识N和利用你的脑子,你的脑子恐怕没法变的更聪明;那么你只能努力让自己的N越大,你就越能更快的让N+1,这,就是读书的飞轮。

简化一下就是,多看书,善于利用时间,善于总结内容,有选择性的阅读,知识的前后呼应。

如何联系知识

  1. 读书不要在意“记不住”的问题,担心记不住而反复停留在一本书或者一个知识点,是读书的飞轮能否转动起来的大忌,真正“有用的东西”会不断重复出现在你眼前。要么工作中需要,要么很火在知乎有人提问,要么这些知识被同一类的书再次提到,从另一种角度被描述,要么让你感觉“这个东西跟我学过的那个有点像”,或者书里写“根据A所以我们有B,然后给个参考链接”… 这些都是在一次加深理解这些知识的联系机会。因此,在读书的飞轮里,你不会记不住有用的知识,因为它们会被你反复用到来攻克其他的知识难关。当一个知识成为你理解另外n个知识的基础的时候,每当你遇到提到使用到这另外n个知识,你都间接复习了这个基础知识,这比反复练习,反复复习来记忆有效率的多
  2. 紧接上一句,但是太重要了所以单独列一条:“知识的真正价值在于知识间的推导/类比/相关/连贯性”。“你自己独特的学习覆盖面将造就独特的你”。任何两个人,当他们的知识覆盖面不同,他们对同一个知识的看法也会有千丝万缕的不同的独特理解。比如双修DL和PLT,和双修DL和分布式系统的两个人,对DL的看法就会有点不一样。“知识的价值在于你懂的知识间,知识与事物间的联系”,这是我们应用知识(去解决问题,或是利用它的去学习更深的知识)的关键。
  3. 锻炼推理和想象能力,不要强记是什么,而要去理解“为什么”,锻炼用已有的知识,推理出新学的知识的能力,让理解水道渠成。锻炼去理解为什么,和正在学习的东西是怎么来的,这件事往往比“记住这个知识”更重要,理解新的知识产生的逻辑过程,或者说推理过程,有助于我们修正或者加强自己的逻辑推理思考能力;而推理能力越强,把知识联系记忆的几率越高,很多时候我们看书看不懂,是因为我们已有的知识和我们正在学的知识之间有一些点我们没有学过,而推理能力越强,则越能正确的脑补出“中间的这些点大概应该是怎么样的”,从而最终全盘理解书里的内容。
  4. 主动建立你自己的知识网络,让知识关联起来,甚至让你自己的知识起化学反应, 增量你的知识。(比如我在看Streaming System(评:Streaming System(简直炸裂,强势安利)) 这本书的时候。由于我之前也看过 Conflict-free Replicated Data Types 这篇论文,结合两者的知识,我可以推理出,DataFlow Model中的trigger和retrieve accumulation,其实只有processor的状态是op-based CmRDT才可以支持的;而这点书中是没有明示的)

重新看了一遍这个小节,才反思到我为什么会喜欢这篇文章,可能还是让我觉得舒适。因为读书时候,基本就是看了就忘,但是如果能做到作者说的这样,前后联系、触类旁通,也不枉读过此书了。

后面的答案大致是给你点激励,让你学习时不要太过丧气,甚至短时间的失败也是可能的,这里就不再摘录。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值