简介
最近很多朋友问我有什么好书推荐,除了网上一些技术博客,七拼八凑,如何能够系统的掌握技能呢?
首先来看下面这幅图谱,这是一个高工需要掌握的技能,可能工作中并不会让你接触到所有这些东西,但是没关系,坚持利用琐碎的时间去了解,并试图做一些demo,3年后我相信对自己的水平也会有质的的飞跃,对问题的定位和解决更得心应手。
接下来,我分享一下我这几年看过的书籍,博主愚笨,一本书一般会看三遍,第一遍花费的时间最长,需要了解技术点,占60%。第二遍,占30%,对第一遍看过去不懂的地方重点关注,并做好相应笔记。第三遍,则加深印象和理解,这个理解需要自己去思考场景化应用,从站在一个高的角度去理解这个技术的意义和解决的问题。
java基础篇
《think in java》 这本书楼主不用多说,搞java必读。
《java网络编程》
《java多线程编程核心技术》 对多线程讲解的非常深刻,推荐读阅。
《java并发编程艺术》 该书的作者任职于蚂蚁金服,特别推荐,写的非常好。
《深入理解java虚拟机》 虚拟机书籍中,别无二选。
《effective java》 这本书建议在对java的运用和掌握非常熟练的情况下,对你的帮助很大。
《java NIO》 了解NIO通信原理,对今后使用NIO框架入netty,mima帮助很大。
《算法 第4版》 博主纯粹为了装逼面试看的
《tcp/ip详解卷一》
linux cloud 及 其他语言篇
作为一个RD,如果不是专业的运维工程师,可以读下下面几本书。
《鸟哥的linux私房菜-基础学习篇》
《python学习手册》
《linux命令行与shell脚本编程大全》
《Docker技术入门与实践》
《kubernetes权威指南》 因为博主工作需要,了解过其原理。
《Go语言程序设计》
数据库篇
Sql就不必多说了,关系型数据库除了mysql和oracle以外,还有nosql,内存数据库也需要有相应的了解,特别在互联网行业。
《redis设计与实现》 非常建议大家读一下,很多设计原理都是很通用的
《mysql技术内幕.innodb存储引擎》 了解数据的原理,尤其是索引
架构设计篇
《分布式服务框架与原理实践》 李林峰总结的非常严谨,提供了多个解决方案,值得一读,也不妨自己去实践一下。
《大型网站系统与java中间件实践》
《大型分布式网站架构设计与实现》
《大规模分布式存储系统》
深入源码篇
毫无疑问,对于一个java程序员,阅读JDK源码,是深入学习的必经之路,特别是util包下的class。
《深入了解tomcat》
《spring技术内幕》
《netty权威指南》
在github和apache上多关注一些开源,最近博主读了阿里的的TBScheduler源码,后面在研究dubbo源码。
面试篇
相信每个职场人,都会经历的事就是面试。博主经历过很多面试,不乏有小公司,大公司,民企,外企,互联网,各种行业。对于面试,更重要的无非是三点,技术能力,沟通表达能力,还有情商。由于篇幅原因,后续博主会专门介绍一下面试的注意点,简历的问题。