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)
大致的就是这些
如果以前是做业务的, 领域驱动设计这块需要深入了解
转载于:https://my.oschina.net/mengzhang6/blog/1843716