- 自我介绍
- HashMap 主要设计,比如结构、主要方法和流程是什么样的
- HashMap 是线程安全的吗
- 线程不安全的点在哪呢
- 如果想使用线程安全的 HashMap 要用什么
- 他(ConcurrentHashMap)为什么线程安全
- ConcurrentHashMap 1.7 1.8 实现有什么不一样吗
- CAS 过程是什么样的
- CAS 相比于悲观锁有什么优势或者缺点嘛
- CAS 在超高并发下会带来什么问题
- 读多写少或写多读少用什么锁比较好
- 说一下 Java 的读写锁
- Java 中实现自己的锁要怎么实现
- AQS 的实现原理
- 继承了 AQS 后主要重写哪些方法(回答 lock unlock 后,又回答了 trylock,面试官说的不是这个,但是差不多,是 try 什么没有听清
- 线程池的核心参数和执行流程
- 什么情况下最大线程数这个参数会失效
- 线程池是怎么区分线程是核心线程或者救急线程呢(面试官说不能区分是救急线程还是核心线程,待考证)
- 常见的拒绝策略有哪些
- 线程池的参数(核心线程数、最大线程数)设置经验
- 核心线程数能不能设置为0
- Shutdown 和 ShutdownNow 方法的区别(面试官说 ShutdownNow 只是试图去停止,不一定能停止成功
- 两个方法都执行后,哪个任务会继续执行
- 手撕:多线程顺序输出奇偶数1-10
- start 和 run 方法有什么区别
- JVM 内存模型(其实不知道问的是 JMM 还是 JVM 了,直接说的 JVM)
- 堆和栈有什么区别
- 类的生命周期
- 堆主要分为哪些
- 说一下常见的 GC 算法
- 垃圾回收是在任何时候都能进行回收吗,或者说执行 GC 的前置条件有哪些(面试官说代码必须要执行到安全点才会去执行 GC,如果没有到安全点,即使内存满了也不会去 GC
- 索引的作用有哪些,主要索引结构有哪些
- 什么情况下索引会失效
- 假设一张 user 表,ID 是主键,name 建立索引,select * from user where name = ‘张三’,执行过程是什么样的,会用到哪些索引
- canal 是怎么同步数据的
- redolog 和 binlog 区别是什么,假设有一个 update 语句,产生的顺序是什么
- Refresh Token 的作用是什么
- 布隆过滤器的实现原理是什么?它的优缺点是什么?
- 手撕:打家劫舍
暂无评论