知识点梳理
一、 JAVA(SE)基础:
- 概念– 面向对象,继承,多态,接口,基础类型
- String、StringBuffer、StringBuilder– 区别,源代码,常用方法、使用
- 容器– 类图结构,源代码?相互之间区别,底层实现,使用场景
- 线程–创建线程的方式,生存周期,主要方法,线程池?
- 并发– ConCurrent源代码、使用,synchronized使用,volatile使用
- IO– 类图结构、基本io操作(代码编写),BIO、NIO、AIO区别?
- 异常– 类图结构,try-catch-finally、throw使用,常见异常?
- 反射、注解– 原理,代码,使用场景
- 序列化– 原理,作用,实现
- 网络编程(socket)– 基本代码实现,中间件?
- 内存管理– 内存分布,对象创建、分布、访问,OutOfMemoryError、StackOverFlowError
- GC– 可达性分析,垃圾回收算法(Mark-Sweep、Coping、Mark-Compact、Generational),安全点/区域,常见垃圾收集器,垃圾回收过程,回收策略
- 类– 类文件结构、类加载过程,类加载器,加载策略
- 内存模型– 内存交互,volatile变量,先行发生原则
- 线程– 线程安全,锁优化
- Servlet和jsp– 生命周期,内置对象,Filter,Listener
- Tomcat– 底层机制,处理请求过程
- Struts2– 核心、工作流程,模型驱动,Action基本实现,与spring-mvc比较
- Hibernate– 工作流程,一级、二级缓存,优化,对象状态(瞬态,持久,托管),Session工厂,与Mybatis比较
- Spring– 核心概念(IOC,AOP),工作流程,注入方式、对比,Spring容器,Bean的作用域(5),AOP的实现(jdk动态代理,cglib)
- 大型网站架构– LVS,缓存,Nosql(Redis),分布式,集群,应用分离,数据库分离
- LVS– 调度算法(加权轮询WRR,加权最少连接WLC等),实现方式(DR、TUN、NAT)
- Memcached– 通信协议,内存分配(类似伙伴系统),内存替换算法(LRU),分布式算法(一致性哈希算法)
- 设计模式Design pattern
- 排序算法– 基本思想,时间复杂度,空间复杂度,稳定性
- 数据结构– 链表,栈,队列,各种树结构(二叉树,二叉排序树,平衡二叉树AVL,红黑树,B-TREE,B+TREE),增删操作?使用场景?
- 数据库理论和概念– 三级数据模式结构,二级印象技术
- 关系数据库– 三要素(结构、操作、完整性约束),关系代数(集合运算4,关系运算4),SQL(DDL,DML,DCL),规范化理论
- 事务和并发控制– 特性ACID,不一致问题(丢失修改,不可重复读,脏读),S/X锁,三级封锁协议,两段锁协议,意向锁
- MySQL(InnoDB)技术内幕– 存储引擎比较(MyIsAM,NDB),后台线程,内存,Checkpoint,关键特性(插入缓存,两次写,自适应哈希索引,异步IO),索引组织表结构(B+TREE),索引底层优化(覆盖索引,MRR,ICP等),全文检索(倒排索引),行级锁,一致性(非)锁定读与MVCC,行锁算法(Record Lock,Gap Lock,Next-Key Lock)
- 概念– 五层协议(物理层,数据链路层,网络层,运输层,应用层)
- 网络层– IP地址,MAC地址,ARP协议,划分子网,路由
- 运输层– UDP概念,TCP连接建立和释放,TCP流量控制(滑动窗口),TCP拥塞控制(慢开始,拥塞避免,快重传,快恢复)
- 应用层—DNS,HTPP协议
- 进程管理– 进程控制和状态,进程同步(信号量),同步问题(生产者消费者问题,哲学家进餐,读者写者问题),进程通信,线程,进程和线程的区别
- 处理机调度– 调度算法,死锁的必要条件,银行家算法
- 存储器管理– 分配方式,地址转换原理,基本分页(段)存储管理,页面置换算法
二、 JVM:
- 内存管理– 内存分布,对象创建、分布、访问,OutOfMemoryError、StackOverFlowError
- GC– 可达性分析,垃圾回收算法(Mark-Sweep、Coping、Mark-Compact、Generational),安全点/区域,常见垃圾收集器,垃圾回收过程,回收策略
- 类– 类文件结构、类加载过程,类加载器,加载策略
- 内存模型– 内存交互,volatile变量,先行发生原则
- 线程– 线程安全,锁优化
三、 JAVA(EE):
- Servlet和jsp– 生命周期,内置对象,Filter,Listener
- Tomcat– 底层机制,处理请求过程
- Struts2– 核心、工作流程,模型驱动,Action基本实现,与spring-mvc比较
- Hibernate– 工作流程,一级、二级缓存,优化,对象状态(瞬态,持久,托管),Session工厂,与Mybatis比较
- Spring– 核心概念(IOC,AOP),工作流程,注入方式、对比,Spring容器,Bean的作用域(5),AOP的实现(jdk动态代理,cglib)
- 大型网站架构– LVS,缓存,Nosql(Redis),分布式,集群,应用分离,数据库分离
- LVS– 调度算法(加权轮询WRR,加权最少连接WLC等),实现方式(DR、TUN、NAT)
- Memcached– 通信协议,内存分配(类似伙伴系统),内存替换算法(LRU),分布式算法(一致性哈希算法)
- 设计模式Design pattern
四、 数据结构与算法:
- 排序算法– 基本思想,时间复杂度,空间复杂度,稳定性
- 数据结构– 链表,栈,队列,各种树结构(二叉树,二叉排序树,平衡二叉树AVL,红黑树,B-TREE,B+TREE),增删操作?使用场景?
五、 数据库:
- 数据库理论和概念– 三级数据模式结构,二级印象技术
- 关系数据库– 三要素(结构、操作、完整性约束),关系代数(集合运算4,关系运算4),SQL(DDL,DML,DCL),规范化理论
- 事务和并发控制– 特性ACID,不一致问题(丢失修改,不可重复读,脏读),S/X锁,三级封锁协议,两段锁协议,意向锁
- MySQL(InnoDB)技术内幕– 存储引擎比较(MyIsAM,NDB),后台线程,内存,Checkpoint,关键特性(插入缓存,两次写,自适应哈希索引,异步IO),索引组织表结构(B+TREE),索引底层优化(覆盖索引,MRR,ICP等),全文检索(倒排索引),行级锁,一致性(非)锁定读与MVCC,行锁算法(Record Lock,Gap Lock,Next-Key Lock)
六、 计算机网络:
- 概念– 五层协议(物理层,数据链路层,网络层,运输层,应用层)
- 网络层– IP地址,MAC地址,ARP协议,划分子网,路由
- 运输层– UDP概念,TCP连接建立和释放,TCP流量控制(滑动窗口),TCP拥塞控制(慢开始,拥塞避免,快重传,快恢复)
- 应用层—DNS,HTPP协议
七、 计算机操作系统
- 进程管理– 进程控制和状态,进程同步(信号量),同步问题(生产者消费者问题,哲学家进餐,读者写者问题),进程通信,线程,进程和线程的区别
- 处理机调度– 调度算法,死锁的必要条件,银行家算法
- 存储器管理– 分配方式,地址转换原理,基本分页(段)存储管理,页面置换算法