2021年 6月7月面试题,欢迎大家一起讨论
并发
- synchronize升级
- volitle 读屏障写屏障怎么加
- 单例模式实现
- 懒汉饿汉模式区别,双向验证,会不会有其他方式获取实例
- concurrenthashmap 1.7-1.8实现
- 线程模型
- ThreadLocal 底层怎么实现的
- ReentrantLock 底层实现
- AtomicInteger 底层怎么实现
jdk源码
- hashmap扩容
- hashmap 17-1.8区别
队列
- mq,怎么保证不丢失,保证顺序
canel部署
Redis
- redis 数据类型,数据结构
- redis 过期策略,主动,被动
- redis hash场景
- redis cluster 集群选举
- redis 怎么保证高性能
mysql
- mysql 一条sql的执行过程
- mysql 为什么要主键自增
- mysql 主键 递增,事务为什么不回滚
- mysql 主键怎么存储 5.7 缓存,每次启动计算,8.0持久化
- mysql binlog日志格式,三种,主从用什么模式(row),为什么用row
jvm相关
- java创建对象的流程
- 一个子类继承一个父类,子类、父类都有静态代码块,加载顺序是怎么样的
- jdk1.8元数据区里放什么数据
- 垃圾回收,标记算法
https://blog.csdn.net/weixin_39997300/article/details/111257539
https://blog.csdn.net/tianya3530/article/details/53912025 - 实战,具体怎么处理生产遇到gc相关问题
spring
- springboot 加载顺序
- springboot bean启动过程
- springboot bean的启动顺序怎么确定
- Spring是如何做事务的
- Spring 注解 @Autowired和@Resource、@Repository
- Spring怎么和dubbo集成的,配置文件配置后怎么加载
- Spring 事务的传播机制
- spring AOP 工作中怎么应用的
- spring 事务底层实现
- spring bean循环依赖怎么解决
实际场景
- 有5000万用户并发访问一个缓存key怎么设计缓存,不能降级。
- 有几千万订单下单后,要在规定时间内付尾款,没付尾款的订单要取消,怎么设计能高效。
- 用户下单后,需要发送短信或者消息,如何快速的在规定顺时间内(时间可配置),按顺序发送。