分享面经,攒攒人品
1)java 异常 空指针异常属于哪种异常
2)java数据类型有哪些 int 的范围 string属于基本数据类型吗
3) arraylist与 linkedlist区别 add方法查询复杂度
4)hashmap1.8底层结构,put方法流程,什么情况下需要扩容,为什么要把链表转换为红黑树红黑树查询效率
5)hashmap具体是怎么通过key计算数组索引的
6)线程池的核心参数,添加任务原理,饱和策略有哪几种,说一下keepalive的含义,线程池是如何让非核心线程在达到心跳时间后消亡的
7)中止线程的四种方式,interrupt方法在线程执行任务过程中,还能使用吗
8)redis数据类型 hyperloglog bitmap geo,的具体应用场景
9) zset 原理和扩容机制,为什么要把ziplist转化为跳表
10)threadlocal具体实现原理,可能存在什么问题
11)volatile 原理,功能,如何保证禁止重排序,volatile i++,为什么不能保证原子性
12)数据库四种隔离级别,分别可能会存在哪些问题,什么是幻读脏读不可重复读
13)数据库怎么实现可重复读?Mvcc原理 ?
14)什么是聚簇索引?什么是非聚簇索引?什么是覆盖索引?什么是回表查询?
15)Spring框架涉及到哪些设计模式?
16)静态代理和动态代理
17)状态码301和302