JDK集合类
- 常见集合类的使用, 他们之间的区别, 如ArrayList, Vector, HashSet, HashTable, TreeSet, HashMap, ConcurrentHashMap - HashMap, ConcurrentHashMap原理 - 各种队列的基本方法的使用, 如: LinkedBlockQueue多线程编程
- Thread, Runnable 的使用, 线程异常处理器的使用 - jdk自带的线程池的使用和基本原理: ThreadPoolExecutor, Feature, Callable - ThreadLocal使用: ThreadPoolExecutor并发控制:
- jdk常用的实现并发控制的工具(synchronized, ReentrantLock, Lock接口) - 悲观锁, 乐观锁的概念 - 如何实现乐观锁 - 分布式锁的概念以及如何实现 - CAS的思想 - volatile关键字 - 锁的实现原理 - 死锁如何发现和解决 数据库: - 常见的索引的优化方法 - mysql怎么优化 - mysql中可能产生的锁 - 关系型数据库的事务 - 索引的基本原理spring:
- 依赖注入(DI)如何实现 - aop的使用和实现原理(jdk自带, cglib, javaassist等) - DI和AOP有什么好处 - spring注解式事务的实现原理23种设计模式
工厂, 单例, 责任链, 适配器, 动态代理等设计模式实现方法 springmvc - 内部流程/原理RPC
从并发模型, 网络协议, 序列化协议三个方面去理解 如: dubbo, thrift中间件
应用场合, 怎么用 - redis - zookeeper - rocketmq(或者其他mq)linux相关
文本编辑(vim), 文件操作(tail, cat, grep, pwdx, awk, ls, cp, mv, scp), 进程操作(top, ps, kill), 网络操作(lsof, netstat, ifconfig) 类加载机制Java虚拟机
看书: <深入理解Java虚拟机>jdk常用工具
jstat, jmap, jhat, jstack等领域驱动设计(DDD)
大致的就是这些 如果以前是做业务的, 领域驱动设计这块需要深入了解