复习知识:Java、JVM、操作系统、计算机网络、数据库、Redis、消息队列(MQ)、Nginx、Elasticsearch、Spring、SpringMVC、Spring Boot、Mybatis

通过看视频+笔记的方式进行学习

  1. Java可加速看一遍视频,然后结合JavaGuide进行学习,可以总结成高频知识文档,便于后期背诵。可能重点关注的知识:反射、代理、集合(ArrayList、HashMap和Currenthashmap、并发和线程池);
  2. JVM是重点内容,如内存相关、垃圾回收和类加载等知识;
  3. 操作系统中线程和进程中调度、死锁等等,内存管理等知识;
  4. 计算机网络的分层模型、HTTP和HTTPS、三次握手和四次挥手和拥塞避免等知识;
  5. 数据库中Mysql的隔离级别、MVCC、三大日志、事务的相关特性、索引(B+树、索引失效、构建索引的规则);
  6. Redis的基本数据结构、持久化机制、集群管理、Redis生产的问题(缓存击穿、缓存穿透、缓存雪崩)、分布式锁等;对于缓存和数据库数据一致性讨论;
  7. 消息队列(MQ包括RabbitMQ和Kafka等,只需要选择其中一种学习用于面试)的基本概念以及在实际生产中的如何应用;
  8. Nginx的基本概念、反向代理和负载均衡等及相关配置;
  9. Elasticsearch的基本概念和在生产中如何应;
  10. Spring、Spring MVC和Spring Boot:三种的发展关系捋清楚便于理解,然后重点关注三者的特殊的地方:如1)Spring中Aop和Ioc、2)Spring MVC的设计思想和接口响应过程、3)Spring Boot的自动配置实现原理、Bean的相关知识和加载过程、一些注解的含义和使用、配置文件中包含经常使用的依赖有哪些?
  11. Mybatis的基础知识,如何和Spring Boot结合使用,以及接口调用中的参数、$和#区别等

建议在复习的过程中可以整理出知识集,然后可以打印重点背诵

如果手上没有项目的话,最好去B站跟一个项目,结合知识进行学习。

上面的内容不是很全,只是一个粗略的学习框架,通过这些基础的学习之后自己也能找到正确的学习方向。(Linux的基本指令、分布式学习(CAP)、Docker等越卷学的东西越多)