作者:编码砖家
来源:cnblogs.com/xiaoyangjia/p/11535486.html
高中时代,我的同桌是个漂亮女同学。她的物理成绩很差,虽然她非常勤奋的学习,但成绩总是不理想。
为了巩固纯洁的同学关系,我亲密无间地辅导她的物理,发现她不知道题目考什么。我们的教科书与试题都围绕着考试大纲展开,看到一道题,应该先想想它在考哪些定理和公式的运用。
不少朋友每天都阅读技术文章,但是第二天就忘干净了。工作中领导和同事都认可你的沟通和技术能力,但是跳槽面试却屡屡碰壁。
面试官问技术方案,明明心里清楚,用嘴说出来却前言不搭后语。面试官再问底层算法,你说看过但是忘记了。他不在乎你看没看过,答不上就是零分。
正如男女相亲,男方谈吐潇洒才能吸引姑娘。可是男方紧张了,平时挺能说,关键时候却支支吾吾,姑娘必然认为他不行。
人生充满了许多考试,有形的和无形的,每次考试的机会只有一次。
工作五年十年后,别人成了架构师,自己还在基层打滚,原因是什么?
职场上无法成功升迁的原因有很多,没有持续学习、学习效果不好、无法通过心仪公司的的面试,一定是很重要的原因。
把自己当成一台计算机,既有输入,也要有输出,用输出倒逼输入。

学什么

基础与应用
以Java工程师应该掌握的知识为例,按重要程度排出六个梯度:
第一梯度:计算机组成原理、数据结构和算法、网络通信原理、操作系统原理; 第二梯度:Java基础、JVM内存模型和GC算法、JVM性能调优、JDK工具、设计模式; 第三梯度:Spring系列、Mybatis、Dubbo等主流框架的运用和原理; 第四梯度:MySQL(含SQL编程)、Redis、RabbitMQ/RocketMQ/Kafka、ZooKeeper等数据库或者中间件的运用和原理; 第五梯度:CAP理论、BASE理论、Paxos和Raft算法等其他分布式理论; 第六梯度:容器化、大数据、AI、区块链等等前沿技术理论;
有同学认为第五梯度应该在移到第一梯度。其实很多小公司的日活犹如古天乐一样平平无奇,离大型分布式架构还远得很。学习框架和中间件的时候,顺手掌握分布式理论,效果更好。
广度与深度
个人兴趣并不局限技术领域,可以是其他学科。我有个朋友喜欢玩山地自行车,还给一些做自行车话题的自媒体投稿。久而久之,居然能够写一手好文章了,我相信他也能写好技术文档。
哲学
哲学不是故作高深的学科,它的现实意义就是解决问题。年轻小伙是怎么泡妞的?三天两头花不断,大庭广众跪求爱。
这类套路为什么总是能成功呢?礼物满足女人的物欲,当众求爱满足女人的虚荣心,投其所好。食堂大妈打菜的手越来越抖,辣子鸡丁变成辣子辣丁,为什么呢?食堂要控制成本,直接提价会惹众怒。
科学上的哲学,一般指研究事物发展的规律,归纳终极的解决方案。软件行业充满哲学味道的作品非常多,比如《人月神话》。
空间换时间:比如引入缓存,消耗额外的存储提高响应速度。 时间换空间:比如大文件的分片处理,分段处理后再汇总结果。
存储:数据会丢失吗,数据一致性怎么解决。 计算:计算怎么扩容,应用允许任意增加节点吗。 传输:网络中断或拥塞怎么办。
英语
英语是极为重要的基础,学好英语与掌握编程语言一样重要。且不说外企对英语的要求,许多知名博客就是把英文翻译成中文,充当知识的搬运工。

怎么学

知识体系
体系化的知识比零散的更容易记忆和理解,这正如一部好的电视剧,剧情环环相扣才能吸引观众。
建议大家使用思维导图罗列知识点,构建体系结构,如下图所示:

克服遗忘
高中是我们知识的巅峰时刻,每周小考每月大考,教辅资料堆成山,地狱式的反复操练强化记忆。复习是对抗遗忘的唯一办法。

碎片时间

用起来

技术分享
从下面这张图我们可以看到,教授他人是知识留存率最高的方式。

准备PPT和演讲内容,给同事来一场技术分享。不光复习知识,还锻炼口才。
曾经有个同事说话又快又急,口头禅也多,比如"对吧、是不是”,别人经常听不清,但是他本人不以为然。领导让他做了几次技术分享,听众的反应可想而知,他才彻底认清缺点。
坚持写技术博客,别在意你写的东西在网上已经重复千百遍。当自己动手的时候,才会意识到眼高手低。让文章读起来流畅清晰,需要呕心沥血的删改。
写作是对大脑的长期考验,想不到肯定写不出,想不清楚肯定写不清楚。

造个轮子
