27

如何学习一些比较复杂的技术概念

 3 years ago
source link: https://mp.weixin.qq.com/s/q5twFMwdHLfY6gJG9qdRiQ
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

如何学习一些比较复杂的技术概念

Original 大龙 增长知行 8/16
收录于话题
#学习方法 1762
#学习 8266
#三步学习法 1
#学习提升 4
背景:服务端早读会上一位老师分享MySQL中锁的概念,感觉里面有很好的学习方法论,所以整理总结一下,有了这篇文章。
Image

如何学习一些比较复杂的技术概念呢?教大家一个三步学习法。

比如我们要学习MySQL的各种锁机制,如果我们去死记硬背都有哪些锁,这些锁的具体概念以及这些锁都用在什么场合,这样即使当时比如应付面试或者应付其他情况记住了,过后肯定就都忘得一干二净了。

「一」

首先我们需要知道事情的前因后果,每种锁的出现都是为了解决一个实际存在的问题,并不是说我上来就设计了各种各样的锁,需要了解要解决的问题再来学习对应的解决方案。

「二」

接下来先想一下如果这个问题让你来解决,让你来设计,你会怎么做。你自己设计完了之后再和MySQL底层实现来对比,发现自己设计的一些缺陷(当然如果你觉得自己的设计居然比原版更好,那么恭喜你,估计你想错了,建议再仔细想想😄),这样就能知道为什么要这么设计,这么设计的好处是什么,更加加深了印象。

「三」

一般前两步骤基本概念就已经掌握的差不多了,如果你还做了第三步,那么你估计可以超越90%以上的人了。第三步就是你把这个设计推而广之,想想自己业务中或者程序设计中有没有类似的需求可以套用,举一反三。

如果再能够以通俗易懂的方式分享给不知道这个概念的同学,那应该可以超越99%的人了。这样整个三步下来之后你才真正搞懂了这种锁,知识才真正变成了自己的不会忘记了。

我们拿一个MySQL各种锁机制的学习来举例,为啥选这个,因为MySQL的锁特别多(见下图),也很抽象,所以如果你能按照方法把各种锁机制掌握了,那应该学习其他的抽象概念问题也就不大了。

640?wx_fmt=png

「总结」

最后总结一下复杂技术概念学习三步法:

1、先要了解前因后果,知道某个技术解决的实际问题是什么

2、自己想解决问题的方法并和原版对比

3、横向扩展并分享出来,这样可以融会贯通和查漏补缺

其实这个方法也不只适用于技术,可能任何比较复杂概念的学习都可以套用。

「写在最后」

好的学习方法有很多,比如非常著名的快速学习秘诀「费曼学习法」、可以重复使用的自学体系「十步学习法」等等,其实很多时候学习并没有最好的方法,只有最适合自己的方法。你有什么好的学习方法想要分享么?可以在留言区告诉我。


640?wx_fmt=jpeg

长按扫码关注 增长知行

我们一起进步,增长知行


封面图来源:unsplash.com

觉得有帮助,右下角点个 在看


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK