Java复习

  • 语言基础

  • 设计模式

  • 框架和中间件

  • 数据库

  • 数据结构和算法

  • 计算机网络

  • 计算机操作系统

  • 系统设计


语言基础

  • 设计模式-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以及项目文档