如何解决知识遗忘,以及学习新知识的方法

作者 | ithuangqing

来源 | 编码之外(ID:ithuangqing)

其实我这个号从诞生的那一刻,我就知道,我所分享的东西一定离不开自学编程,也就是关于编程学习的一些方法!


有的人会觉得,这些东西,写来写去就是那么回事,尤其是有了编程经验的程序员,更会觉得,编程的学习方法就那么回事,花时间学呗,其实我不这么认为!


我之前会有这样的疑问,我觉得有些人一直写某一块的知识,我就好奇,一直写这方面的东西,难道不会写到最后无话可说吗?因为该写的不都写完了吗?


你怎么看待这个问题呢?


后来慢慢的,我发现自己之前的想法真的很幼稚且天真,因为我这里忽视了很重要的一个东西,那就是成长,人是会成长的,随着自己的成长,自己的知识广度和深度,以及自己的认知都是在不断的提高的,那么对于同样一个问题就会出现一个不断打磨和反复迭代的过程。


而经过这个过程的输出,展现给你们的东西是更加的高质量的,经验性的东西也是会不断的升级的,之前也许要写3000字去给你说明一个道理,可能你还云里雾里,这里不能完全怪读者的理解能力不行,更重要的是作者本人目前没办法以更少的字去把这个问题讲解的更加透彻。


所以,人,是需要保持不断学习的,你不用担心,这些知识学来学起都是那些的问题,当你的所学达到一定高度,你的思维层面就上升了。


1、知识学了就忘的问题


就好比这个问题,我当初对这个问题那是百思不得其解,觉得自己学了就忘,难受的很呐,一直在寻求如何解决这样的问题,我当时的总结就是,为什么我们会学了就忘呢?大概有如下几个原因:


  1. 知识没有用起来

  2. 知识缺少必要的复习

  3. 知识的学习不成体系

  4. 知识学习方法有问题


怎么样?你觉得是这样吗?我当初似乎找到了问题所在,那怎么解决这个问题,我的解决办法就是输出,也就是写博客,然后集中系统化的去学习一个系列的知识,然后把它输出出来,就比如我自知,自己的计算机基础知识比较差,于是我就集中的去做这块的输入和输出,然后就有了以下文章:


作为一个程序员,CPU的这些硬核知识你必须会!

作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!

作为一个程序员,内存的这些硬核知识你必须懂!

来吧!给你不一样的数组深入讲解!

原创 | 链表是个啥?怼起来!

来吧!一文彻底搞定哈希表!

还有更多,就不一一列举了)


是的,刚写完这些文章的那段时间,我觉得自己的基础还是可以的,觉得心里的知识量鼓囊囊的,但是现在,对,就此时此刻的我看着这些标题,我又迷茫了,不知道自己都写了什么……


是的,我又忘了……


这还写个锤子啊,知识学了就忘不还是没有解决吗?不过,我得告诉你,这并不是全部!


虽然以上我写的东西,我觉得我忘了,是的,我说我是觉得我忘了,实际上呢?看到某一个标题,我还是有点印象的,然后重点是,我点开看这篇文章,很多熟悉的字眼立马就来了,有些内容,我甚至能回想出当初思考它的时候是怎么想的,然后我可以用比较快的时间去看这篇文章所讲的内容,然后我就会突然觉得自己脑海中之前这块的知识被突然唤醒了。


这也许就是输出的真正意义所在吧!


有时候做笔记,说的是为了以后看,但是实际上以后看的机会很少,不过这个做笔记的过程,就是建立知识结构的过程,这个过程远比以后看有效多了,你说呢?


还有一点就是我在写这些文章的时候,当时确实是下功夫了,其中我记忆比较牢固的一个知识点就是关于链表的理解,之前我对链表一直不太理解,搞不懂这是个啥玩意,但是当我真正下功夫去研究学习它的时候,我发现当我真正的去理解了它的时候,我基本不会忘记它了,就是说这个知识真的成了你的知识了,这种感觉超棒的。


所以,输出真的特别重要!


经历这样的一个过程,让我对知识学了就忘的问题不那么恐惧了,但是实不相瞒,它依然是我的一个心结,我还是会是不是想起它,伴随而来的是无助与难受。


直到有一次我请教了几位大佬前辈,得到以下两句话:


1、不要把知识遗忘当成问题去解决,你解决不了的,知识遗忘是一件正常的事情 

2、忘了就忘了,忘了就再看看,用的多了自然就记住了,用的不多的记它干嘛


首先第一句话,让我摆正心态,正确去面对知识遗忘这个问题,从心里慢慢接受这不是个问题,另外第二句就是让我知道得不断的去学习去输出,去把知识用起来,如果没有实际运用的场景,那如何达到“用的多了自然就记住了”的一个状态呢?


答案是,真正的去理解它,反复强化这一知识点,让其成为长期记忆!


好了,看到这里,我有没有帮你解决知识学了就忘这个问题呢?


接下来,咱们来谈第二个问题。


2、学习新知识的方法


很多私底下询问我关于自学编程问题的人,我都会告诉他们,编程这个行业需要你持续不断的学习,因为技术的更新迭代非常的快,而且要学习的知识点真的是特别的多,所以,对于一个想要自学编程的人来说,掌握正确的学习新知识的方法,尤为重要!


那这样的方法有人告诉你吗?不管有没有,反正我今天要和你分享一下,所以等下看完记得点赞哦!


你觉得最好的学习新知识的方法是什么?对于编程来说,我们大致把它分为理论和实战,就是你学习的知识,后期是可以用到的,那这个该如何学习?


大部分人应该是先学习理论知识,之后再去实战,这其中会存在一个严重的陷阱,就是很多人学了无数次的理论,却不曾有一次的实践。


由于知识遗忘是个正常现象,所以你这样的学习其实是付出和收获不成正比的。


那学习新知识的方法是什么呢?


其实啊,最好的方式就是边学边用,也可以说,理论和实践要五五开,甚至实践还要多一点,不要只学不用,然后这样的效果其实还不好,想要更好的效果,你还得把自己学到的东西交给别人,是的,这就是所谓的费曼学习法,把所学教授他人,做到输出,有入有出,然后你还可以让你的学习效果更好一点,是什么呢?就是你要注重输出这一步,就是不能为了输出而输出,你必须得做到真正的明白,教授他人的时候,你得保证给别人教懂啊,不要自己费尽口舌,别人一脸懵逼,这就不行了。


那怎样才能做到真正的明白呢?就是你可以用自己的话叙述出来,而且说给别人,别人能听懂,你要知道,能做到这样,说明你对这一知识点是真的理解了。


现在有很多的技术文章,看起来就跟读书一样,完全看不到作者自己对这块的一个思考,这样就很没意思,这个可以忽略,就是突然想起来吐槽一下!


所以这里就有两个重要的方法:


  1. 教别人

  2. 做到能复述


这里我想特别强调一下复述,为什么要把知识自己能够复述出来呢?因为我们一般死记硬背的知识都是最原始的一些知识,但是对于一个知识,你如果能复述出来,则说明,你在复述的过程中和学习这个知识的过程中是有自己的理解的,这点非常重要。


这样做的好处就是,你不但清晰的了解了这些信息,而且更重要的是由于你的理解,它们都内化成了你的知识,也就是形成了长期记忆。


ok,到了这里,本文就结束了,如果你能只字不差的读到这里,说明你是一个具备深度阅读能力的人,恭喜你,你已经超越99%的人了。


好啦,看在我写的那么干的份上以及文章结束还不忘夸上你一句,点个赞给个在看如何,我保证,下一篇文章更干,我夸的更好听!


下期见!



        
        
        
— 【 THE END 】—
本公众号全部博文已整理成一个目录,请在公众号里回复「 m 」获取!


3T技术资源大放送!包括但不限于:Java、C/C++,Linux,Python,大数据,人工智能等等。在公众号内回复「1024」,即可免费获取!!





本文分享自微信公众号 - 程序员书单(CoderBooklist)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章