一、引言
人总是用现有的知识去解决问题,虽然学过的未必都掌握,知道的未必真的能够都理解。
(1)做英语试卷,不认识的单词,哪怕是猜词也是根据已经会的单词,根据词根词缀,根据单词中部分认识的半个单词。
(2)小学上语文课,学习汉语词汇是,如果遇到难的词汇,中文看半边字,也是因为只认识半边,来猜测它的意思。
(3)一个不知道OCR软件或者语音输入的文科学生,如果有一大段书上的文字需要转化成文本,大概率是手动输入。
(4)学习Java的学生,如果他不知道mybatis,hibernate,只会JDBC,则他大概率用JDBC来操作数据库。
(5)如果一个程序员不了解设计模式,那么在某些设计模式适合的场景,他大概率想不到,没有用到。
等等。
二、拓展知识面
基于以上的分析,不管是程序员还是普通的大学生还是其他行业的人,拓宽知识面很重要。
当然知识的深度和广度都很重要,知识面狭窄解决问题很难得到最优的方案,知识深度不够则样样稀松。
本文重点讨论,知识广度。
2.1 从技术角度
如果多了解本行业的常用技术,常见问题的解决。
比如Java程序员,Java基础、计算机专业基础、常见的设计模式、常见的数据结构和算法、分布式常见框架和应用场景以及常见的问题等。
如果在平时学习、开发过程中,将共性的东西总结在一起,那么遇到某个场景时,可以反向利用总结的规则来应用。
比如下面是我总结的写通用方案的一些方法:
那么当需要做一些通用的功能的时候,可以反向通过其中某个或者多个组合起来来解决问题。
比如如何实现延迟队列的功能,知识面广度话,我们知道Java中有延时队列、甚至Redis zset或者消息也可以实现延时队列,一些MQ提供了延时队列的功能,我们可以对比各自的优劣,选择最适合自己的方案。
之前读过一句话非常有感触,大牛不仅是掌握很多方案的人,而是能够在适合的场景选择恰当方案的人。
因此知识的广度是必不可少的(深度也很重要)。
2.2 其他角度
哪怕不是程序员,普通的大学生也应该拓展知识的广度。
很多大学老师并没有教会学生大学里转变心态,已经不再是高中生了,高考已经不再是唯一重要的目标。
除了专业课之外的书,已经不再是“闲书”,但是大多数学生已经没有这种意识。
当然专业知识仍然是最重要的,除此之外,历史、心理学、逻辑学、写作等比较经典著作,都可以多看看。
有很多学生急功近利,恰恰是这种急功近利才导致了“欲速则不达”的结果。
读逻辑学、历史等让我们可以用更客观和宏观的眼光看世界。
读心理学让我们了解自己,认识别人,从人性的角度来看人。
读写作和效率的图书,反向促进我们的工作和学习。
当你具备多个学科知识时,你看待问题和解决问题就有更多参考。
历史比如《万历十五年》、《二十四史》等。
读史会发现现实和历史惊人的相似,可以通过读史来增强阅历,甚至可以预测未来的发展趋势。
心理学比如《墨菲定律》、《乌合之众》、《影响力》、《为何家会伤人》等等。
比如读《墨菲定律》,你就会知道
沉锚效应:第一印象会影响我们的判断,从而先入为主甚至歪曲事实。
自我服务偏见:我们会不自觉地夸大自对自己有利的信息,而忽略对自己不利的信息。
莫非定律:可能出问题就一定会出问题。比如数据保证唯一性如果不设置唯一键,早晚会有不唯一的情况。
多看效应:人更喜欢自己熟悉的人和事物。这也是为啥很多人总喜欢攀亲戚,经常见面的人感觉更喜欢。
等等。
稀缺效应:机会越少,价值越高。这也是为什么很多限量版产品价格很高。
写作如《怎样写文章》、《怎样写作》、《畅销作家写作全技巧》《如何阅读一本书》等等
不管是平时写作还是未来职场都有极大帮助。
逻辑学如《简单的逻辑学》、《逻辑思考力》、《提问的艺术》等。
提高效率的图书:《整理的艺术》、《金字塔原理》等。
可以让自己思考问题更有逻辑,避免被别人思维带偏,让自己更客观。
如果觉得本文对你有帮助,欢迎点赞,欢迎关注我,如果有补充欢迎评论交流,我将努力创作更多更好的文章。