研一下就3门课程,时间很富足,自己多加加油,利用好这些时间,执行好这些规划。
规划主要参考来自于小米内部培养之服务端工程师入门与进阶 Java 版。
一、准备实习面试
1.剑指Offer未完成部分刷完。
2.复习Java虚拟机,并发编程,算法。
3.Java集合框架源码分析。
二、技能篇
1.代码质量,《Clean Code》和《重构》。
2.熟悉 Linux 开发环境。Linux 的基本使用可以通过《鸟哥的Linux私房菜:基础学习篇(第三版)》学习。
4.掌握 web 开发最佳实践,掌握 Restful API 设计,理解 Spring 原理。推荐阅读《Spring 揭秘》。掌握项目分层、子模块划分。推荐阅读:《J2EE 核心模式》。
5.掌握关系型数据库。包括设计 MySQL 表结构,根据业务特点分表分库,基于执行计划的 SQL 分析优化,以及数据库容量规划。推荐阅读:《MySQL 必知必会》、《高性能 MySQL》。
6.掌握 Http(推荐阅读:《图解 Http》、《Http 权威指南》)、Thrift 等协议。
7.设计模式:从项目中学习,有时间可以看看《深入浅出设计模式》、《JDK 里的设计模式》。
8.学习Java Socket 编程与多线程知识,可以看看《Java 并发编程实战》,并翻翻并发编程网的文章。
三、项目篇
1、开发一个类似Spring的MVC框架。
2、开发一个Java爬虫框架。
四、深入篇//这个不知道能不能看到。。。。
目标:分布式系统和中间件开发。
构建知识体系:《大型网站系统与 Java 中间件实践》、《大型网站技术架构:核心原理与案例分析》。
原理与设计:《大规模存储式系统》、《UNIX 网络编程 卷1:套接字联网 API》、《How Tomcat Works》。
学习开源项目:Apache Thrift、Zipkin、Netty、Rose、Jade、淘宝 RPC 系统 Dubbo 等。分析项目中的设计思路。比如,同样是RPC框架,Finagle 和 Dubbo 有什么异同。
其他。根据参与的项目加深学习吧。比如,如果需要写 DSL,可以读一下《领域特定语言》,对 Redis 感兴趣推荐读一下:《Redis 设计与实现》。有两本书,无论做什么项目,都推荐读:《Unix 编程艺术》、《UNIX 环境高级编程(第3版)》。