问题清单

问题清单
面向对象的特性:继承、封装和多态

Exception、Error、运行时异常与一般异常有何异同

重载和重写的区别

抽象类和接口的区别

说说反射的用途和实现

说说自定义注解的场景及实现

HTTP请求的GET和POST方式的区别

Session与Cookice区别

列出自己常用的JDK包

MVC设计思想

equals与==的区别

hashCode与equals方法的区别与联系

什么是Java序列化和反序列化,如何实现Java序列化?或者请解释Serializable接口的作用

Object类中常用的方法,为什么wait notify会放在 Object 里面?

Java的平台无关性如何体现出来的?

JDK和JRE的区别

Java 8 有哪些新特性

1.2 Java常见集合

List和Set的区别

Set和hashCode以及equals方法的联系

List和Map的区别

ArrayList与LinkedList 区别

ArrayList 与 Vector 区别

HashMap和Hashtable的区别

HashSet和HashMap的区别

HashMap和ConcurrentHashMap 的区别

HashMap 的工作原理及 代码实现,什么时候用到红黑树

多线程状况下的HashMap 死循环的问题

HashMap 的出现Hash Dos 攻击问题

ConcurrentHashMap的工作原理及代码实现,如何统计所有的元素个数

1.3 进程和线程

线程和进程的概念,并行和并发的概念

创建线程的方式及实现

进程间通讯方式

说说CountDownLatch、CycliBarrier 原理和区别

说说Semaphore原理

说说Exchanger原理

ThreadLocal 原理分析, ThreadLocal为什么出现OOM,出现的深层次原理

讲讲线程池的实现方式

线程池的实现方式有哪几种

线程的生命周期、状态如何转移的

1.4 锁机制

说说线程安全问题,什么是线程安全,如何保证线程安全

重入锁的概念,重入锁为什么可以防止死锁?

如何检查死锁(通过jConsole 检查死锁)

volatile 实现原理 (禁止指令重排、刷新内存)

synchronized 实现原理(对象监视器)

synchronized 与 lock 的区别

AQS 同步队列

CAS 无锁的概念、乐观锁和悲观锁

常用的原子性操作

什么是ABA 问题,出现 ABA 问题 JDK是如何解决?

乐观锁的业务场景和实现方式

Java 8 并发包下 常见的并发类

偏向锁、轻量级锁、重量级锁、自旋锁的概念

1.5 JVM

JVM运行时的内存区域划分

内存溢出OOM和堆栈溢出SOE的示例及原因、如何排查与解决

如何判断对象是否可以回收或存活

常见的GC回收算法及含义

常见的JVM性能监控和故障处理工具类(jps、jstat、jmap、jinfo、jconsole)

JVM如何设置参数

JVM性能调优

类加载器、双亲委派模型、一个类的生命周期、类是如何加载到JVM中的?

类加载的过程(加载、验证、准备、解析、初始化)

强引用,软引用,弱引用,虚引用

Java内存模型JMM

1.6 设计模式

设计模式的六大原则及其含义

常用的单例模式,实现方式的优缺点

Spring中用到哪些设计模式

Mybatis中用到的设计模式

常用的开源框架中用到的设计模式

你可能感兴趣的:(问题清单)