- hashmap的数据结构是什么?
- 为什么HashMap要在jdk8引入红黑树?
- HashMap的扩容机制是什么?为什么他的数据长度永远都是2的幂次?
- 为什么jdk7到jdk8要吧头插改为尾插?
- 为什么他解决冲突的方式是用链表加红黑树?
- ArrayList和LinkedList的区别是什么?
- concurrentHashMap是怎么实现的?从jdk7到8做了什么升级?
- 乐观锁和悲观锁的区别是什么?
- CAS是怎么是实现的?
- synchronized和ReentrantLock有什么区别?
- 原子类是如何实现的?
- volatile关键字有什么作用?
- 什么是JMM?
- 什么是指令重排序?
- 什么是happens before原则?
- synchronized的锁升级流程是什么?他是不是可重入锁?可重入是为了保证什么?
- AQS队列是怎么实现的?他是怎么实现一个公平锁的?
- 线程池的核心参数是什么?提交任务的流程?核心参数怎么计算?
- 拒绝策略有哪几种?
- 接口和抽象类的区别?
- 什么是单例模式?写一个双重锁检查?懒汉式和饿汉式的区别?
- mysql的事务隔离讲一下?
- 什么是ACID?
- mvcc机制下,可重复读是怎么实现的?还有幻读问题吗?
- 什么是间隙锁,什么是临建锁?
- 什么是索引的回表查询?如何避免
- MySQL有哪些常见的索引?
- 什么情况下索引会失效?
- 有用过explain这个关键字吗?
- innodb下MySQL索引的数据结构是什么?为什么选择它而不是别的?
- MySQL的三大日志讲一下?
- Redis有哪些数据类型?他们各自的应用场景是?
- 讲下缓存穿透,缓存击穿和缓存雪崩
- Redis和数据库的数据一致性怎么保障?
- Redis为什么快?
- 讲一下IO多路复用模型
- 如何用Redis实现一套登录机制吗?
- Redis如何做防抖和节流?
- Redis的主从同步机制讲一下?
- Redis的持久化机制?
- Redis中的大key和热key你该如何优化?
- 有没有做过JVM的调优?
- 有没有了解过JVM有哪些垃圾回收算法?
- 讲下JVM的内存空间是如何分配的?
- JVM的垃圾回收器有哪几种?
- 有了解过什么是逃逸分析吗?
- 如何避免OOM?
- 在你的项目中有没有遇到内存泄漏问题?你是怎么解决的?
- SpringBoot涉及了哪些设计模式?
- 什么是IOC和AOP以及他们的应用场景?
- AOP怎么实现的?
- 除了jdk的动态代理,你还了解过其他的代理模式吗?
- AOP是运行时代理还是编译时代理?
- 循环依赖怎么解决?
- 事务注解什么时候会失效?