@TOC
2019总结
简短概要总结,完善ing
JAVA基础
- 8种基本数据类型 (内存占用,实现原理,JAVA中对象以及引用的概念-equals等,多见于笔试题);
- 封装、组合、聚合、继承、多态、抽象,重写、重载,类作用域,抽象类、接口、内部类等(多见于笔试题);
- 并发、并行的区别;
- JAVA反射原理;
- JVM:运行时数据区域;
- JVM调优;
- Servlet/Filter/Listener/Interceptor区别与联系;
- JAVA异常类,Java受检异常和非受检异常,类图及其联系;
- 线程与进程的概念;
- Java 中15种锁的概念以及使用;
公平锁 / 非公平锁
可重入锁 / 不可重入锁
独享锁 / 共享锁
互斥锁 / 读写锁
乐观锁 / 悲观锁
分段锁
偏向锁 / 轻量级锁 / 重量级锁
自旋锁 - IO;
- NIO;
- 类加载;
- 网络编程(Netty等框架使用);
- WEB服务(tomcat、jetty);
- 并发、多线程(JAVA中的并发实现方式、线程池创建方式,核心属性,线程状态及其切换、终止);
设计模式
- 常见的设计模式,项目中的使用场景 (理解–>描述–>手写;如单例,观察者,建造者,策略,适配器,工厂等);
IP,TCP,UDP,HTTP,TCP/IP,Socket IP协议
- 如HTTP协议:握手,请求内容结构体,参数,类型 ;
- 常见的状态码,以及参数名含义理解;
数据结构
数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成 。
常用的数据结构有:数组,栈,链表,队列,树,图,堆,散列表等,如图所示: (以及其对应的JAVA实现-数组、链表、红黑树等);数据遍历、查找 ;
算法
- 空间/时间复杂度 ;
- 常见的数据算法及其实现 ;
数据库(mysql,postgres,mongodb)
- 数据库区别、选型、方言 ;
- 分库分表分区分块实现 ;
- 数据库引擎、表锁行锁、事务隔离级别、索引、联合索引 ;
- spring中实现的事务传播机制
- 数据库优化 ;
缓存(Redis/Memcached)
- Redis支持的数据类型 ;
- redis和memcached的优缺点及区别 ;
- Redis列表类型-用作队列 ;
- Redis排行榜实现 ;
- Redis分布式环境下的使用 (集群,分布式锁等);
- Redis持久化 ;
框架
- Spring(核心理念)、SpringMVC (九大组件,初始化流程,拦截器实现等,spring的扩展接口有哪些);
- SpringBoot (关键注解、与MVC区别、starter等);
- Mybatis、Hibernate、MybatisPlus (九大组件,初始化流程,核心理念,拦截器实现等);
- Dubbo、WebService
其他工具
- 消息队列 (AMQ,RabbitMQ,RocketMQ,kafka;使用模式:如pub-sub,幂等性,使用场景等,学习的深度);
- 消息队列持久化
- mycat (功能与特性);
- 常用数据库集群方案;
- nginx、apache;
- netty;
- zookeeper;
- thrift;
- protocol buffer;
- hessian;
- 全文检索引擎:ElasticSearch、Solr;
微服务
- 服务搭建,以及其重要核心组件;
- docker k8s;