究竟是有了兴趣才去学还是学了才会有兴趣

乍一看,这个问题跟先有鸡还是先有蛋问题如出一辙,看似无解,实则真相就离你我不远。对这个问题的思考我认为是很有意义的,文末我会提及搞清楚这个问题将对你有什么帮助。

对于刚毕业不久的我,很少学底层,只会怎么使用工具,例如Redis。最近重新深入学习Redis以及它的底层,学到源码,学到它数据结构的精妙设计,让我深刻体会到了数据结构与算法的美,真的很后悔当初的课堂上没有好好听课,当然,上网课,老师照着PPT念,确实提不起兴趣。曾经听极客时间的【左耳朵耗子】大佬说过,程序员应该注重一些10年都没变的东西,比如数据结构与算法,今天学Redis,才深刻体会到这点,这对我以后的技术学习有一定的指导性的意义。如下我贴出大佬列出的基础技术都有哪些?

估计很多同学应该都是和我一样的,是考前突击型的选手,这类型选手啊,有一个缺点,学了就会忘,这个学期学完了,下个学期能剩下10%就很不错了。基础扎不扎实自己是十分清楚的,你可以到LeetCode,亦或者到一些著名的OJ上面刷题来检测自己的数据结构与算法掌握得到底怎么样。

我的情况好不到哪里去,我是直到大三下找工作,21年4月才开始刷LeetCode题,刷题对一些数据结构会有深的理解,知道怎么使用,什么情况下使用哪一种数据结构。我为什么提到刷题这个检测手段,因为我觉得学校老师基本不怎么会教你写代码的,讲讲某种数据结构的特性就完事了;另外一点,我觉得学校应该注重的,就是应该举例讲讲某个数据结构到底有什么用,这个例子不用讲的很深,这个数据结构有哪些应用场景,在哪个著名的框架上用到,而且用的很好,很妙。Linux作者曾说过一句话,Talk is cheap,show me your code,这也侧面说明coding的重要,上手代码才是掌握数据结构的最佳选择。

回到题目,那么学习编程,或者说学习任何一门技能,是有兴趣了才去学,还是学了才有兴趣?我的答案是后者,你没去学就体会不到其中的乐趣,体会不到乐趣当然不愿意学,不学就体会不到乐趣,这就跟我们所学的线程死锁一样,形成内耗了。解决办法就是去学,学了还是体会不到乐趣的情况也会发生,我始终都相信,那是因为教我们的人让我体会不到乐趣,而不是这门课枯燥。就拿今天我学Redis来说,老师讲到底层原理,底层的数据结构,ziplist,quicklist,sds等等数据结构的时候,我深刻体会到我学的数据结构还是不够深的,因为Redis课不可能给你讲数据结构去。这让我萌生了再去学一遍数据结构的想法,很想弄清楚Redis底层到底怎么存取的这个数据,这个我称之为兴趣。弄清楚数据结构反过来,又会让我对Redis理解得更深,两者相互相成。正因为学Redis里面牵扯到数据结构的知识,一个知识体系连着另一个知识体系,而不了解基本的数据结构,只能当一个调用Redis API的工程师了。所以【左耳朵耗子】说的东西是我可以理解的,就应该深入学习一些基础技术。那要不要死磕数据结构与算法?我个人的看法是有了一些基础后,在学习其他什么框架,里面用到了你没了解过的东西,回头翻翻、补补,慢慢你就会对基础技术掌握的更加全面,更加深入。

最近有一个新的感受,就是高中会觉得大学本科很有时间,本科觉得研究生有时间,最后都发觉其实都挺忙的。到了工作了,想着终于没人管了,完成工作就没事了,却发觉依然没什么时间学习,加加班,刷刷抖音一晚上就过去了,我曾经听过大佬说过他自己的经历,他说他到了30岁以后看不下去书了,告诉我学东西,看书什么的要趁早,当时我并有很懂,似乎,这一刻我有点悟到了。正是应了那句,黑发不知勤学早,白首方悔读书迟。

学习的过程很辛苦,到了收获之时,就会体会到那种快乐,真正弄懂一门技术的那种对事物的掌握的心情,那种感觉是别人无法体会到的!想象一下,面试的时候,吊打面试官,拿高薪的场景吧!朋友们,都去学习吧!

希望此文对你会有所帮助!

猜你喜欢

转载自blog.csdn.net/liuzr_/article/details/128662361