工作5年,别人成了架构师,你却还在基层打滚
我们相信努力学习一定会有收获,但是方法不当,既让人身心疲惫,也没有切实的回报。今天我们一起来探讨如何高效的学习技术?
高中时代,我的同桌是个漂亮女同学。她的物理成绩很差,虽然她非常勤奋的学习,但成绩总是不理想。
为了巩固纯洁的同学关系,我亲密无间地辅导她的物理,发现她不知道题目考什么。
我们的教科书与试题都围绕着考试大纲展开,看到一道题,应该先想想它在考哪些定理和公式的运用。
不少朋友每天都阅读技术文章,但是第二天就忘干净了。工作中领导和同事都认可你的沟通和技术能力,但是跳槽面试却屡屡碰壁。
面试官问技术方案,明明心里清楚,用嘴说出来却前言不搭后语。面试官再问底层算法,你说看过但是忘记了。
他不在乎你看没看过,答不上就是零分。正如男女相亲,男方谈吐潇洒才能吸引姑娘。
可是男方紧张了,平时挺能说,关键时候却支支吾吾,姑娘必然认为他不行。
人生充满了许多考试,有形的和无形的,每次考试的机会只有一次。工作五年十年后,别人成了架构师,自己还在基层打滚,原因是什么?
职场上无法成功升迁的原因有很多,没有持续学习、学习效果不好、无法通过心仪公司的面试,一定是很重要的原因。
学什么
基础与应用
近些年诞生了许多新技术,比如最时髦的 AI(目前还在智障阶段),数学基础是初中就接触过的概率统计。
万丈高楼从地起,不要被新工具或者中间件迷住双眼,一味地追新求快。基础知识是所有技术的基石,在未来很长的时间都不会变化,应该花费足够的时间巩固基础。
以数据结构和算法为例,大家阅读一下 Java 的 BitSet 的源码,里面有大量的移位操作,移位运算掌握的好,看这份源码就没问题。
Java 同步工具类 AQS 用到了双向链表,链表知识不过关,肯定搞不懂它的原理。互联网大厂都喜欢考算法,为了通过面试也要精通算法。
以 Java 工程师应该掌握的知识为例,按重要程度排出六个梯度:
第一梯度:计算机组成原理、数据结构和算法、网络通信原理、操作系统原理。
第二梯度:Java 基础、JVM 内存模型和 GC 算法、JVM 性能调优、JDK 工具、设计模式。
第三梯度:Spring 系列、Mybatis、Dubbo 等主流框架的运用和原理。
第四梯度:MySQL(含SQL编程)、Redis、RabbitMQ/RocketMQ/Kafka、ZooKeeper 等数据库或者中间件的运用和原理。
第五梯度:CAP 理论、BASE 理论、Paxos 和 Raft 算法等其他分布式理论。
第六梯度:容器化、大数据、AI、区块链等等前沿技术理论。
广度与深度
哲学
空间换时间:比如引入缓存,消耗额外的存储提高响应速度。
时间换空间:比如大文件的分片处理,分段处理后再汇总结果。
存储:数据会丢失吗,数据一致性怎么解决。
计算:计算怎么扩容,应用允许任意增加节点吗。
传输:网络中断或拥塞怎么办。
英语
怎么学
知识体系
建议大家使用思维导图罗列知识点,构建体系结构,如下图所示:
克服遗忘
复习是对抗遗忘的唯一办法。大脑的遗忘是有规律的,先快后慢。一天后,学到的知识只剩下原来的 25%,甚至更低。随着时间的推移,遗忘的速度减慢,遗忘的数量也就减少。
碎片时间
用起来
技术分享
从下面这张图我们可以看到,教授他人是知识留存率最高的方式:
造个轮子
作者:编码砖家
编辑:陶家龙、孙淑娟
出处:https://www.cnblogs.com/xiaoyangjia/
精彩文章推荐: