网络协议

  • 语言基础
  • 设计模式
  • 框架和中间件
  • 数据库
  • 数据结构和算法
  • 计算机网络
  • 计算机操作系统
  • 系统设计

语言基础

  • 设计模式-Java源码-spring框架源码
  • Java的一些高级特性(Java编程思想、Effective Java)
  • 虚拟机和并发编程
    • 计算机操作系统之后
    • (深入理解Java虚拟机-内存、gc、类加载机制)
    • (Java并发编程-学习越深入越好)
  • 源码分析问题
    • 编程经验+数据结构+算法
    • 集合框架Hashtable、HashMap、ConcurrentHashMap等
    • 牛客网或Github源码分析文章

设计模式

  • 常用模式:单例模式、几个工厂模式、代理模式
  • 结合Java类库中实现,或者Spring等框架中实现
  • (Head First 设计模式)

框架与中间件

  • 框架主要是Spring框架
  • 中间件:缓存和消息队列
  • (精通Spring 4.x)
  • (Spring 揭秘):对于AOP和IOC讲解
  • 缓存中间件Redis (Redis实战)(Redis 设计与实现)
  • 消息队列(RabbitMQ)

数据库

  • SQL语法
  • (MySQL 必知必会)
  • leetcode刷题
  • 数据库管理系统知识:事务、范式等内容理解清楚
  • (数据库系统概念)
  • (MySQL 技术内幕)
  • (高性能 MySQL)
  • 重点: InnoDB存储引擎、索引、锁、事务、性能优化等

数据结构和算法

  • 清华视频+笔记+实践
  • LeetCode-通过率高到低
  • Github找一些题解

计算机网络

  • TCP/IP、HTTP、Socket编程
  • (计算机网络 自嵿向下方法)
  • (TCP/IP详解)
  • (图解HTTP)
  • socket:了解IO多路复用知识
  • (Unix 网络编程)

计算机操作系统

  • 主要:进程线程、死锁以及内存管理。
  • 《深入理解操作系统》部分内容
  • Linux基本原理
  • 《鸟哥的Linux私房菜》

系统设计

  • 主要设计网站架构相关内容
  • 《大型网站架构》
  • 分布式相关知识
  • 《从Paxos到Zookeeper》
  • 《大规模分布式存储系统》
  • 微服务:《微服务设计》

实践与项目

  • 了解自己对业务的理解程度
  • 了解对热门技术的掌握程度
  • 业务角度:项目难点
  • 多用热门技术来解决问题,如缓存、消息队列等
  • 业务角度:分析你这么做什么用,为啥不用别人方法
  • 建议做高并发项目
  • 最好部署在云服务器上,并访问地址附在简历
  • 代码开源github以及项目文档