- 基本语法
- 这包括static、final、transient、volatile等关键字的作用,foreach循环的原理等等。
- 集合
- List、Map、Set实现类的底层实现原理,实现类的优缺点。
- 集合要掌握ArrayList、LinkedList、Hashtable、HashMap、ConcurrentHashMap、HashSet的实现原理,流利作答,还有CopyOnWrite容器和Queue熟悉。
- ConcurrentHashMap的锁分段技术
- ConcurrentHashMap的读是否加锁,为什么
- ConcurrentHashMap的迭代器是强一致的迭代器还是弱一致性的迭代器
- 设计模式
- 项目中用到的哪些设计模式,如何使用
- 知道设计模式的优缺点
- 能画出常用的设计模式的UML图
多线程
- Thread和Runnable的区别和联系
- 多次启动start一个线程会怎么样、线程有哪些状态。
- java.util.concurrent
- 常用的线程池,以及它们之间的区别和联系,线程池的实现原理,实际的使用场景。
- 线程同步、锁。synchronized和ReentrantLock的区别、synchronized锁普通方法和锁静态方法、死锁的原理及排查方法。
IO
- 文件IO和Socket IO,文件IO都是阻塞IO。
- Socket IO中阻塞/非阻塞区别、同步/异步的区别,理解阻塞IO、非阻塞IO、多路复用IO、异步IO这四种IO模型,Socket IO如何与四种模型相关联。NIO并不是严格意义上的非阻塞IO而应该属于多路复用IO,NIO会阻塞在Selector的select方法上。
JDK源码
- List、Map、Set实现类的源代码
- ReentrantLock、AQS(AbstractQueuedSynchronized)的源代码
- AtomicInteger的实现原理,主要说清楚CAS机制并且AtomicInteger是如何利用CAS机制实现的
- 线程池的实现原理
- Object类中的方法以及每个方法的作用
框架
- Spring初始化bean的时候做一些事情该怎么做、想在bean销毁的时候做一些事情该怎么做
- MyBatis中的$和#的区别
- 框架实现原理。Spring AOP的实现原理
数据库
- union和union all的区别、left join、几种索引以及区别
- SQL优化
数据结构和算法分析
- 数组、链表
- 栈与队列
- AVL树、红黑树(二叉查找树、平衡树、AVL树和红黑树区别)
- 问题:索引使用的是哪种数据结构?使用为什么使用树来实现
- 算法分析,不会,不想研究就算了,晕、、、放弃了、
Java虚拟机
- Java虚拟机的内存布局
- GC算法及几种垃圾收集器
- 类加载机制即双亲委派模型
- Java内存模型
- happens-before规则
- volatile关键字使用规则
Web方面
- 分布式Session的几种实现方式(常用的四种)
- Session和Cookie的区别和联系以及Session的实现原理
- web.xml
- Filter、Servlet、Listener
- get/post区别、forward/重定向区别
- Https的实现原理
- 一致性Hash算法
- SOA、RPC
3年经验的Java程序员应具备的专业技能
最新推荐文章于 2024-06-30 17:02:46 发布