面试问题
- 计算机基础和算法
- TCP三次握手四次挥手
- 树的遍历
- Java基础
- 集合类问题
- ArrayList和LinkedList区别
- ArrayList和HashMap怎么扩容
- HashMap怎么解决哈希冲突
- hashcode和equals
- 链表和红黑树
- HashMap是线程安全的么?ConcurrentHashMap是什么?
- 并发类问题
- 启动线程的方式
- 线程池如何创建,参数有哪些?
- sychronize锁对象是谁
- 偏向锁、轻量级锁、重量级锁的区别
- 加锁的方式有哪些
- AQS框架的原理是什么,它是如何实现公平锁和非公平锁的?
- volatile关键字是什么
- 什么是CAS?什么是ABA问题?
- 并发包里的类有了解哪些
- 虚拟机类问题
- 虚拟机内存划分
- 虚拟机栈中存了什么
- 类加载机制
- 多态是如何实现的
- 堆内存划分,垃圾回收算法原理
- 集合类问题
- Java进阶
- Web问题
- Servlet是什么?Tomcat的工作流程
- Spring问题
- Spring两大特性
- Spring是如何实现事务的?传播机制有哪些?
- Redis问题
- redis数据结构
- redis持久化机制
- redis集群部署
- redis淘汰策略
- mq问题
- 不同mq的对比
- mq消息重复怎么办?
- mq消息丢了怎么办?
- mq怎么保证顺序消费?
- mq积压了怎么办?
- mysql问题
- mysql引擎
- mysql索引的数据结构
- mysql的事务隔离级别以及会产生的问题
- 超大数据量插入有什么高效的方法
- 分布式问题
- 分布式锁解决方案
- 分布式事务解决方案
- 缓存一致性如何解决
- 分库分表后如何多表查询
- rpc框架用过哪些?为什么要用rpc?
- Web问题