Java学习规划
推荐学习网站:CS-Notes
求职目标:
要选择一二线大厂的话,比较注重基础,如果是其他互联网公司,比较注重语言和框架,因为招了人之后要上手做项目。
学习理论:
一、并发:
推荐《Java并发编程实战》
二、设计模式:
推荐《Head First 设计模式》
三、框架:
主要是Spring框架,推荐《精通Spring 4.x》
四、中间件:
缓存和消息队列
- 缓存:主要是Redis,《Redis实战》《Redis设计与实现》
- 消息队列:《Rabbit MQ实战指南》
五、数据库:
- 入门:《sql必知必会》
- 进阶:leetcode刷题,《数据库系统概念》(此阶段至少理解关系型数据库管理系统、事务、范式)
- 高级:现在大多互联网公司都用Mysql,所以着重学习Mysql,推荐《Mysql技术内幕》《高性能Mysql》(此阶段重点:InnoDB存储引擎、索引、锁、事务、性能优化)
六、数据结构和算法:
大厂很看重,可以在leetcode刷题,还有牛客的《剑指offer》
七、计算机网络:
入门可以看《计算机网络 自顶向下方法》,然后面试重点放在TCP/IP、HTTP、Socket编程
推荐书籍:《TCP/IP详解》《图解HTTP》
java后端工程师对Socket编程要求不高,但是要了解IO多路复用,推荐看《UNIX 网络编程》
八、计算机操作系统:
重点:进程线程,死锁和内存管理
可参考学习《深入理解操作系统》
另外,也需要了解Linux的一些基本原理,可以看《鸟哥的Linux私房菜》
九、系统设计:
重点:网站架构
入门:《大型网站架构》
分布式知识:《从Paxos到Zookeeper》《大规模分布式存储系统》
微服务:《微服务设计》