• 学过的技术容易忘,怎么办?


    有些技术因为比较复杂,或者在工作中没用到,学过不久就忘了,怎么办?

    一、学过的东西会忘,是很正常的

    有没有过目不忘的人呢?有,但是我们大多数人都不是这样的人。
    根据著名的艾宾浩斯遗忘曲线,初次记忆的内容,在1天之后,只剩33.7%;在6天之后,只剩下25.4%。

    20200317_174928.png

    所以这里首先要纠正大家的一个误区,认为技术的学习是一劳永逸的事情,投入是一次性的。

    二、学习只是记忆吗?

    毫无疑问,良好的记忆力对于我们的学习是有很大的帮助的,特别是在应试教育阶段。但是工作以后,我们学习的目的不再是考试,而是为了提升实战的技能(虽然对面试确实非常有帮助!)。所以,还用在学校里的那套观念和方法是不合适的。

    扪心自问,一节课两个小时,你投入了多少时间?是不是觉得从头听到尾,就学完了?
    1、听课的时候,有做笔记,记录课程的重点知识吗?有记录自己存在的疑问吗?
    2、听完之后,如果有不太清晰的地方,自己有去找资料学习吗?
    3、老师演示的环境(比如集群,容器,HA架构),自己课后有去搭建吗?
    4、老师课堂演示的代码,自己有敲,或者运行吗?源码有去跟踪吗?
    5、对于学习的知识和代码,有没有集中维护起来,或者输出?比如有道云笔记、github、技术博客。
    6、在工作中,有没有用学过的技术重新审视自己的代码?

    在陆地上学不会游泳,看书也学不会开车。
    不动手去做,你永远不知道你会遇到多少坑:我本地居然没有配置好环境?按照老师的步骤做的,为什么报错了?测试的结果跟老师说的有点不一样?只有实践才能出真实。

    老师讲的东西,只是老师的,没有实践也没有总结,它不可能变成你自己的知识。
    而变成自己的知识,最好的办法是输出 —— 自己去写博客,在公司内部做技术分享。如果你试过把一个技术点给别人讲清楚,你会发现原来自己不知道的比知道的多,原来备课需要这么多的时间。

    三、为什么会忘记?

    除了上面说的只是记忆没有去实践之外,还有一个遗忘的原因是没有理解原理或知识之间的关联。举个例子:
    1、在一个技术专题内:如果要理解事务隔离级别的实现,必然要理解锁,而InnoDB的锁锁住的是索引,这个时候又要明白索引的原理。如果要理解索引,必然要知道什么叫做存储引擎,要知道MySQL的体系结构。这里面是层层递进的关系。只学后面不学前面,就只是记住结论而不是真正理解。
    2、学习设计模式,例如代理模式,需要掌握面向对象软件设计原则。JDK的动态代理必须要明白什么是反射,为什么需要反射。理解类的实例是怎么创建的,又涉及到JVM的知识。

    任何的知识,都要有一个框架。在你回想的时候,脑袋里面会出现一张图。所以推荐大家把听过的课都画一张脑图总结起来。

    中间件的本质,都是网络和存储。很多解决方案,跟数据结构和算法密切相关。很多的技术在设计思想上也有类似之处。
    所以,你掌握的内容越多,学习起来就更加轻松,而打通了知识的关联,也更不容易忘记。

    四、怎么快速复习

    基于上面说的遗忘曲线,学习必须要有温故知新的过程。我们学习技术,难道要把2个小时一节课的视频再看一遍吗?这个时间成本太大了。
    但是 —— 如果你在学习的时候就有了自己的总结,何必还要从头到尾看视频呢?现在我们的课程也有了非常详尽的课程笔记,翻阅它来复习,比你看视频要快。

    对于一些特别复杂的流程(Spring的启动流程之类),总是记不住,怎么办?
    这里又要澄清一个误区,不是所有的内容都要记住的。很多细节的知识点,只需要在用的时候查找就可以了。
    其他的,如果是面试的时候突击,也只需要总结一下,放到自己的笔记里面(一些热门面试题),在面试前一天看看就好了。
    经常问到的,还可以用口诀之类的助记方法。

    总结

    1、学过的知识会忘记是正常的,每个人都会忘记,老师也会。
    2、必须把学习的知识变成自己的知识。
    3、不要片面地、零散地学习。
    4、形成一些自己的快速复习的方法。

  • 相关阅读:
    第二次站立会议4
    第二次站立会议3
    建议总结
    对搜狗输入法的个人评价
    第二期站立会议10
    典型用户和用户场景描述
    第二期站立会议9
    第二期站立会议8
    第二期站立会议7
    第二期站立会议6
  • 原文地址:https://www.cnblogs.com/flgb/p/14540487.html
Copyright © 2020-2023  润新知