一、Java基础面试题总结

1.hashmap

image.png
image.png

image.png

2.单例模式

image.png

  • 实现方式:Collections工具类中好多,System.console : 双检锁懒汉式
  • 双检锁懒汉式 : 变量使用 volatile修饰,保证对象唯一(有序性

3.线程

3.1线程有哪些状态

image.png

image.png

3.2线程池核心参数

image.png

4.JDK JRE JVM 的区别 (必会)

  1. jdk:java开发工具包
  2. jre:java核心类库
  3. jvm:java虚拟机,java实现跨平台的核心,运行java语言编写的程序

二、web和数据库

三、框架阶段

1.spring事务失效场景

image.png

image.png

2、循环依赖

image.png

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方式