一:Spring全家桶专区(面试重灾区):
1:SpringBean的生命周期。
2:Spring如何解决循环依赖问题
3:Spring容器启动时,为什么先加载BeanFactoryPostProcess
4:AOP能做什么?
5:动态代理和静态代理的区别?
6:Spring是如何解析Bean定义的?容器启动就将Bean定义加载到内存了么?如何修改Bean定义的?
7:beanFactory和FactoryBean的区别。
8:Spring容器启动时可以实现哪些开放式接口(非后置处理器)
9:你是如何理解SpringIOC的?
10:BeanFactory 和 ApplicationContext 有什么区别?
11:解释一下依赖注入?
12:Spring Bean 的作用域之间有什么区别?
13:Spring 框架中都用到了哪些设计模式? 举例说明?
14:熔断和服务降级的区别?
15:feign和ribbon的区别?
16:ribbon如何进行通信调用的?
17:zuul的升级版是什么?
18:项目中什么地方用到了服务降级?
19:如何配置config?
20:Eureka和Console的区别?
21:Eureka如何实现自我保护机制?
二:并发专题专区全家桶(面试重灾区):
1:Sync的实现原理?
2:Sync和Look的区别?
3:Volatile的作用?
4:可重入锁ReentrantLook和Sync的实现区别?
5:CyclicBarrier 和CountDownLatch的区别?举例说明一下?
6:信号量是怎么回事儿?
7:AQS是怎么回事儿?按照你的理解说?
8:为什么说Sync是悲观锁?实现原理?CAS是怎么回事儿?原理?
9:创建线程有几种方式?区别?
10:有哪些线程池?
11:ThreadLocal用过吗?怎么回事儿?
12:解释锁的消除以及锁的粗化?
13:Sync是重量级锁吗?说一下原理?
14:用过魔术类嘛?简单说一下?
15:说一说concruuentHashMap和hashMap的区别?
16: concruuentHashMap可以被代替吗?
17:concruuentHashMap如何实现线程安全的?
三:Mysql面试题(面试重灾区)
1:事务的4种隔离级别 ?
2:默认采用哪种事务隔离级别?
3:sql执行计划如何使用?
4:mysql为什么不用B树而用B+树?
5:B+树的数据结构?说一下?
6:什么情况下索引会生效或者不会生效?
7:举例说明可重复读隔离级别?
8:事务的传播机制有哪些?
9:如何实现数据库集群?
10:如何实现分布式事务?
11:说一下两种常用Mysql的引擎?以及区别?
12:Mysql为什么用自增主键?
13:B+树索引和哈希索引的区别 ?
四:jvm面试题
1:垃圾回收算法 有哪些?
2:解释一下新生代和老年代?
3:new出来的对象一定存在堆区吗?
4:什么是双亲委派机制?
5:说一下java的内存结构?
6:Java对象创建过程?
7:JVM的永久代中会发生垃圾回收么?
8:有哪些调优命令?
9:Minor GC与Full GC分别在什么时候发生?
五:MQ和Redis面试题
1:你用过哪些MQ?区别?
2:如何确定rabbitMQ如何确定消息被消费了?
3:redis的数据类型有哪些?
4:redis有哪些高级应用?
5:用过芒果DB嘛?
6:解释一下redis的主从复制?
7:解释一下缓存击穿和缓存穿透的区别?
六:分布式相关面试题
1:如何实现分布式事务?
2:如何实现分布式锁?项目中哪里应用过?
3:如何实现分布式Session
4:zookeeper的选举策略 ?