赞同科技面经
一面:
- JVM的内存结构一般分为哪几块?(听成jvm的模块组成了,一时忘了)
- 堆和栈的区别是什么?
- Java线程池的核心参数有哪些?
- AQS的底层原理是什么?
- synchronized和Lock的区别是什么?(第四个忘了,改成这个问题了
)
- MySQL的事务隔离级别有哪些?
- MVCC的作用是什么?(这个也没记全)
- MySQL的索引为什么使用B+树?
- Spring的三级缓存是什么?是如何解决循环依赖问题的?
- Mybatis的一级缓存和二级缓存有什么区别?
- 项目中用Redis做二级缓存具体是怎么做的?删除策略是什么?
- 缓存穿透、缓存击穿、缓存雪崩的定义分别是什么?各自的解决方案是什么?(穿透和击穿记反了)
- RabbitMQ,它的死信延迟队列方案是怎么做的?如何保证消息不丢失?
- Seata的AT模式,它的一阶段和二阶段分别是怎么实施的?
- TCP粘包/拆包的原因是什么?Netty是如何解决这个问题的?
- Zookeeper做注册中心,他的作用是什么?watcher机制是怎么工作的?本地服务列表如何与注册中心保持同步?
- 你如何看待当前的后端开发与AI编程之间的关系?
反问:
- 面试表现
- 公司业务