19 | 链式 & 比较 & 环式学习法:怎么多维度提升技术能力?
19 | 链式 & 比较 & 环式学习法:怎么多维度提升技术能力?
讲述:安晓辉
时长16:38大小15.19M
链式学习法:提升技术深度
链式学习法的步骤
链式学习法的优点
链式学习法小结
比较学习法:提升技术宽度
比较学习法的步骤
比较学习法的优点
比较学习法小结
环式学习法:提升技术广度
环式学习法的步骤
提升业务能力也很重要
环式学习法的优点
环式学习法小结
思考题
赞 37
提建议
精选留言(17)
- 学要有所用2021-01-11关于学习方法,最近看过一本书,书中有些学习方法别具一格,颠覆认知,书名——《认知天性:让学习变得轻而易举的心理学规律》。 这本书介绍了各种高效学习的方法,其中有几种方法,比较颠覆认知,书中认为学习时,应该有间隔的进行,而非集中式的重复进行,这样带来的好处是:能带来更长久的记忆,也就是长期记忆,而集中式练习则是短期记忆。花十分钟记忆十个单词所留存的记忆,不如分两次五分钟记忆十个单词所留存的记忆来得深刻。理由是:长期记忆的形成,需要有个巩固的过程,可能是数小时,可能是数天,在这期间,记忆痕迹得到加深,所学的新知识与旧知识建立连接,带来稳固的长期记忆,因此不要频繁的进行集中式学习,而是有间隔的进行,频繁的集中练习只会带来短期记忆,有间隔的学习所耗费的精力远大于频繁的重复式学习,使用这种方式,学习起来也更加困难,但也不容易遗忘。理论上来说,遗忘的越多,重新回忆起来的难度越大,但所保持的效果越持久,不过,还是不要等到所学知识遗忘的差不多了后再去重新学习,那样的话,你基本回忆不起来,只能重新从头开始,得不偿失,等到所学知识有点儿遗忘再去学会比较好。 拿学习专栏来说,不要反复地去学习同一章节,而是有间隔地进行,这会带来长期记忆,在学完一章内容后,不要立刻练习所学内容,而是应该等遗忘一些后进行,效果要好于学完一章节后立刻进行练习的方式,学完后不容易忘,在学完后立刻进行练习,学完后容易忘。书中建议:学习知识或技能时,通过自我检测的方式,代替重复学习,并且有间隔地进行自测,就拿学习算法来说,不要一遍接一遍地重复去学,而应该在学习完某一算法后,通过自测的方式来逼迫自己的大脑去检索所学,拒绝机械式的重复重复再重复,这样所学的知识会更加稳固,留存的记忆更持久,书中还提到:自我检测后的延迟反馈会进一步加强学习效果,也就是在进行自测后,不要立马查看答案,而是应该间隔一段时间再查看。 在练习所学时,有顺序的练习比无顺序的练习效果差,且这期间,穿插不同类容类型的学习方式,所产生的效果,要比在熟练某一知识后,再进入下一学习内容的练习效果要好,不仅能保持长久的记忆,使所学知识不易遗忘,还能提高学习者的辨识能力,也就是在面对各种复杂问题时,能正确识别问题类型,根据所学知识,从脑海中搜寻出对应问题的解决方案。回想一下我们上学时的课本内容安排,都是有顺序地,由浅入深地进行,而我们在学习时,就是通过不断练习同一知识点直至完全掌握后,依次有顺序地进入下一知识点的学习,直到课程学完。这种通过大量练习同一类型的题目的方式,使我们在考试遇到时,能得心应手地解决,但面对综合题时,这些问题都被混合在了一起,且没有顺序,我们难以辨别题目真正要考察什么问题,无法辨别问题的类型,从而无法正确地运用所学知识解决问题。拿到生活上来说,你遇到的问题也是没有顺序,且都是混合在一起的,你难以辨别各个问题之间的差异,不清楚要解决的问题到底是什么,从而无法选取合适的解决方案解决问题。 面对这种现状,前面提到的穿插不同内容类型的学习方式能帮到你。简单来说,就是在当前学习内容掌握的还不熟练的情况下,跳入下一阶段的学习,这种方式比在当前学习内容练习熟练后,再顺序进入下一阶段的学习方式,效果要好。例如,你在学完数组,哈希表,树,堆等数据结构后,在练习时,要在数组还未掌握熟练时,就进入树的练习,而不是等到完全掌握熟练一项内容才进入下一阶段的练习,你不能每学一样知识,待熟练后才进入下一阶段,应该以随机非顺序的方式进行,这种非顺序的穿插不同类型的学习方式能促进知识的活学活用。 这种学习方式如果转换到专栏学习的话,相当于在一个章节内容还未熟练的情况下就要进入下一章节的学习,比如,在学习完专栏章节1,2,3后,从章节2开始练习,待初步掌握,还未熟练时,进入章节1的练习,然后在未熟练时又进入章节2的学习,这种在练习期间,穿插各种不同学习内容的方式,比大量练习同一主题内容完全熟练后,再进入别的主题学习,效果要好得多,书中说的是远好于。 这样看来,这种学习方式还是很适合学习难度高的专业知识的,它能使所学知识停留在长期记忆,并能促进知识的活学活用,你一定不想体会辛辛苦苦好不容易学完算法后,在下一次要用到时想不起来的尴尬境地,或者在遇到综合各种算法问题时,束手无措的苦苦挣扎,而以上的学习方式或许能帮到你。展开
作者回复: 我最近刚看完这本书,里面提到的学习方法我自己其实一直就是这样做的。我会3~4个主题同时进行学习,每个主题每次都学30分钟左右,一段时间后又回过头来复习加深一下。 例如我最近同时在学:ClickHouse、Redis专栏、推荐系统专栏、朝鲜战争、认知天性。
共 5 条评论87 - Harvey2021-01-13你好,华仔: 问题:关于链式学习 。如何才能画出一个技能的领域分层,能否提供具体的指导原则和标准? 举例:对于一个不了解netty的人,肯定是画不出来这个图,可能只会只会想到第二层,或者想到的层次的技术不对,这些都会影响链式学习的效果。所以我的思考是能画出一个领域图就是一个学习的路径,剩下的就是行动+具体的学习方法。 课程总结 链式学习:对于我而言优先选择这种方式,业务开发且先需要先掌握几个深度学习的案例。对于如何画出领域和技术细分模型,还没有具体实施过。 (1)对于领域模型的划分我能想到的是首先会列一个netty的学习框架,根据这个框架抓住重点和难点。对于下一个层次该学什么,就需要看专业类的书籍,根据经典书籍在确定下一层学什么。 (2)技术细节的划分可以使用华仔的四层模型,但对设计原理和设计方案之间的区别还不清楚,需要在实际过程中找出之间的概念。 (3)关于领域划分的每个层次学习的权重华仔也给出了具体的建议,可以参考。对于领域底层的知识,先掌握原理,毕竟通过6个月学习一个技能需要在时间上计划好,尤其是对最底层的知识。 比较学习:比较学习需要多问为什么,5w,7w2h等方式。 环式学习:对于此方式主要提升技术广度。要在目前手上的工作内容画出业务和技术的环图,优先处理重点和难点的业务和技术。对于我而言业务的闭环也非常重要,之前对于业务闭环做的还不够,更多的都是在某一个功能点,可以参考产品思维。展开
作者回复: 如何画领域分层图已经写了加餐,等编辑打磨后很快上线。 设计原理和设计方案的区别:设计方案是设计原理的落地实现。例如Reactor是原理,Redis的设计方案是单Reactor单进程、Memcached的设计方案是多Reactor多线程、Nginx是多Reactor多进程、我自己用过单Reactor多线程
6 - Monday2021-01-13链式学习法的第一步,就是要明确一项技术的深度可以分为哪些层。 具体来说,就是画出“领域分层图”和“细节分层图”。一开始你可能会觉得画不出来,这恰恰说明你对深度的理解还不够,而尝试画图本身就是一个梳理结构、强化认知的过程。 怎么分解出领域分层图和细节分层图狠关键啊,有点类似于项目的架构设计,后面每个细节的学习就相当于开发实现。 使用链式法的分层方法可否来一个加餐章节,多举几个例子,比如 1、学习上节提到的unix/linux 2、上节提到的安全 3、mybatis,MySQL,Redis,spring,Java多线程, 。。。。 当然我也会自己试着去分层展开
作者回复: 已经写了加餐,等编辑打磨后很快上线
共 2 条评论3 - L·2021-07-28我觉得我是更注重解决问题的能力,而不是只限于技术,大差不差的情况下有些细节技术能力没必要深究,毕竟要花费很多精力,结果只是为了解决一个不大的问题。
作者回复: 应该说平时不需要背太多细节,但知道大概范围和深入方向,等真的要用到细节的时候,能够快速的钻研进去。
2 - 受超凡2021-07-21老师说到了netty有个问题请教下,tomcat高版本也支持nio了,netty除了支持不同的协议外和tomcat高版本有什么区别吗,性能一定比tomcat的nio好吗?
作者回复: 你带着这个问题,用比较学习法,自己去学习对比一下
共 2 条评论1 - 一步2022-02-04技术宽度和技术广度有什么区别?
作者回复: (我在第 11 讲和第 16 讲分别以前端和 Java 后端为例,解释了这三个维度的区别。)
- 闫冬2021-12-05用环式学习法给自己定一下学习范围,利用比较学习法提高知识的全面性、链式学习法提高知识的深度。1
- 受超凡2021-07-16如果对一项技术本身就不了解,如何画领域和细节分层图呢?感觉如果能画出来好像已经理解了很多了。学习方法太重要了,以前浪费了不少时间,看的不少却没什么效果,这三个学习方法就是指路明灯。
作者回复: 有一篇“放学别走”的文章是讲如何画图的。
- 逍遥乐古今2021-05-30这一讲的领域分层图和上一讲分解技能画出xmind知识思维导图,有什么先后顺序吗?学习某项技能时,应该怎么做呢?
作者回复: 技能分解的xmind告诉你有哪些你要学,领域分层图告诉你具体某个技术应该学哪些点,当然是先分解出你要学习的技能,然后再按照领域分层图去学习
共 2 条评论 - xin2021-04-23看了才知道之前多浪费时间
作者回复: 掌握了好的方法,可以事半功倍 :)
1 - 欧阳娜2021-04-11环式学习法,在一定深度上,拉长和拉宽不是一样的吗?怎么还有宽度和广度?
作者回复: 宽度是同领域,广度是跨领域
1 - Hesher2021-03-30换个思维,面试别人的时候,为了有得可问,你就要深入下去,直到你知道了哪里是最深的地方,达到了这个深度,才会在面试候选人时更有信心、更有底气。就算你不是面试官,也可以定期找同事玩玩模拟面试,共同成长,双赢合作。没准也是个另辟蹊径的学习方法。 从深度、宽度、广度被面试难倒的情况全都遇到过,不过并不遗憾,毕竟当时是真的不会。如同学生时期期末考试前临时抱佛脚的感觉,这反而是认识自己和增加学习动力的契机。展开
作者回复: 有的朋友真的是经常出去面试试一下,看自己的能力具体如何
共 2 条评论 - 起而行2021-03-29老师请问细节分层图中的设计原理和设计方案有什么区别呢~
作者回复: 原理就是理论基础,方案就是实现技巧,IO多路复用是原理,Reactor也可以是原理,但是单reactor单进程就是方案
共 2 条评论 - 起而行2021-03-29老师,请问应该对什么样的技术/问题画领域分层图,感觉问题的粒度不好把握,比如1.讲一讲Next.js的服务端渲染 2.讲讲vue的响应式原理,差不多是这样的问题?
作者回复: vue、Next.js这个级别的画领域分层图,响应式原理只是vue分层图中的原理这一层的。
- CYH2021-03-15hi,请问像cdn,cos 这种怎么做领域分层和细节分层图呢?
作者回复: CDN领域本身我不太熟,一般我们都是把CDN作为其他技术领域分层中的网络层。 如果你做的就是CDN的内容,那么网络优化(涉及CDN的节点部署)、缓存、回源策略等都是CDN领域相关的。
- 蛙2021-01-12感觉后台开发要学好多知识,华仔有推荐的学习线路吗?
作者回复: 后台这个词范围太大了,还是要自己结合工作需求来制定自己的学习计划
1 - Sisyphus2352021-01-11技术深度图的扫描请问有什么好的方式鸟瞰全局吗?谢谢
作者回复: 没看到这个问题,可以把问题讲详细些
共 2 条评论