一、Java基础面试题总结
1.hashmap


2.单例模式

- 实现方式:Collections工具类中好多,System.console : 双检锁懒汉式
- 双检锁懒汉式 : 变量使用 volatile修饰,保证对象唯一(有序性)
3.线程
3.1线程有哪些状态

3.2线程池核心参数
4.JDK JRE JVM 的区别 (必会)
- jdk:java开发工具包
- jre:java核心类库
- jvm:java虚拟机,java实现跨平台的核心,运行java语言编写的程序
二、web和数据库
三、框架阶段
1.spring事务失效场景


2、循环依赖

springmvc的执行流程
mybatis的两级缓存
mybatis执行器
spring事务注解transaction实现原理?
spring 是单列 还是多列 是线程安全吗?
bean的声明周期
事务的传播行为
事务的失效场景
说说你对IOC和AOP的理解
循环依赖如何解决
BeanFactory和FactoryBean的区别?
springboot启动过程?
Springboot自动装配,如何实现一个starter
springcloud使用过的组件、请求一个微服务的执行流程
Hystrix服务降级是怎么做的?什么情况会走降级逻辑?
Nacos介绍一下?
说下feign的作原理?
四、springcloud
1.nacos和eureka的区别
- Nacos与eureka的共同点
- 都支持服务注册和服务拉取
- 都支持服务提供者心跳方式做健康检测
- Nacos与Eureka的区别
- Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式
- 临时实例心跳不正常会被剔除,非临时实例则不会被剔除
- Nacos支持服务列表变更的消息推送模式,服务列表更新更及时
- Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式
