首页/ 学科题库/ spring/ Spring高级技能认证
spring 模拟试卷 · 技能认证

Spring高级技能认证

20 题 60 分钟 难度:★★★
  • Spring源码级原理深入剖析
  • IOC容器启动流程与Bean生命周期
  • AOP代理机制底层实现
  • Spring性能调优策略与技巧
  • 生产环境问题诊断与解决

试卷习题(20 题)

参考答案在文末
判断题
1
判断题

使用@Cacheable注解时,如果查询结果为null,Spring默认会将null值缓存起来以防止缓存穿透。

A

对

B

错

2
判断题

Spring可以自动解决构造器注入产生的循环依赖问题。

A

对

B

错

3
判断题

Spring中的Aware接口(如BeanNameAware、ApplicationContextAware)的回调时机是在Bean实例化之后、属性赋值之前执行。

A

对

B

错

4
判断题

HikariCP连接池的maximum-pool-size应该设置为CPU核心数的2倍加1。

A

对

B

错

单选题
5
单选题

Spring Bean生命周期的正确顺序是?

A

实例化 → 属性赋值 → 初始化 → 销毁

B

初始化 → 属性赋值 → 实例化 → 销毁

C

属性赋值 → 实例化 → 初始化 → 销毁

D

实例化 → 初始化 → 属性赋值 → 销毁

6
单选题

在Spring的AbstractAutowireCapableBeanFactory中,创建单例Bean的核心方法是doCreateBean(),以下是其执行顺序的正确描述?

A

createBeanInstance → populateBean → initializeBean → registerSingleton

B

createBeanInstance → initializeBean → populateBean → addSingleton

C

createBeanInstance → populateBean → initializeBean → addSingleton

D

populateBean → createBeanInstance → initializeBean → addSingleton

7
单选题

某高并发系统使用HikariCP连接池,配置maximum-pool-size=10,minimum-idle=5。当并发请求数达到50时,以下描述正确的是?

A

所有50个请求都能同时获取到连接

B

只有10个请求能同时执行,其余请求等待连接或超时

C

系统会自动将连接池扩展到50个连接

D

minimum-idle参数会限制最大连接数为5

8
单选题

Spring支持的依赖注入方式不包括以下哪种?

A

构造器注入

B

Setter方法注入

C

字段注入

D

静态方法注入

9
单选题

Spring解决单例Bean循环依赖的核心机制是三级缓存,其中第二级缓存的作用是?

A

存储完整的单例Bean实例

B

存储早期暴露的Bean实例(未完成属性赋值)

C

存储ObjectFactory用于生成代理对象

D

存储Bean的定义信息

10
单选题

系统使用Redis作为缓存,某时刻大量缓存同时过期,导致所有请求直接打到数据库,这种现象称为?

A

缓存穿透

B

缓存雪崩

C

缓存击穿

D

缓存预热

11
单选题

在Spring Boot中,以下哪个配置项用于设置HikariCP连接池的最大连接数?

A

spring.datasource.hikari.minimum-idle

B

spring.datasource.hikari.maximum-pool-size

C

spring.datasource.hikari.connection-timeout

D

spring.datasource.hikari.idle-timeout

12
单选题

在Spring中,使用哪个注解可以将方法的返回结果缓存起来?

A

@CacheEvict

B

@CachePut

C

@Cacheable

D

@Caching

多选题
13
多选题

以下哪些是Spring Bean生命周期中会执行的回调方法?

A

@PostConstruct标注的方法

B

InitializingBean接口的afterPropertiesSet()方法

C

@Bean注解的initMethod属性指定的方法

D

BeanPostProcessor的postProcessBeforeInitialization()方法

14
多选题

以下哪些是HikariCP连接池的正确配置参数及其作用?

A

connection-timeout: 客户端等待连接的最大毫秒数

B

idle-timeout: 连接允许在池中闲置的最长时间

C

max-lifetime: 连接在池中的最大生命周期

D

leak-detection-threshold: 连接泄漏检测阈值

15
多选题

当一个接口有多个实现类时,@Autowired注入的匹配规则包括哪些?

A

按类型匹配所有候选Bean

B

按@Qualifier指定的名称匹配

C

按字段名或参数名匹配Bean名称

D

按@Primary标注的Bean优先匹配

16
多选题

以下关于Spring缓存注解的使用场景描述正确的有哪些?

A

@Cacheable适用于查询操作,先查缓存再执行方法

B

@CachePut适用于更新操作,每次都执行方法并更新缓存

C

@CacheEvict适用于删除操作,清除缓存中的数据

D

@Cacheable可以设置condition属性实现条件缓存

填空题
17
填空题

BeanPostProcessor是Spring框架的重要扩展点,它有两个方法:在初始化方法之前执行,在初始化方法之后执行。Spring AOP的就是在postProcessAfterInitialization方法中完成的。

18
填空题

在Spring Boot中启用缓存功能,需要在启动类上添加注解。如果使用Redis作为缓存存储,需要配置spring.cache.type为,并引入spring-boot-starter-data-redis依赖。

19
填空题

Spring容器启动的核心流程在AbstractApplicationContext的refresh()方法中,主要包括:obtainFreshBeanFactory()获取,invokeBeanFactoryPostProcessors()执行,registerBeanPostProcessors()注册,finishBeanFactoryInitialization()完成非懒加载Bean的初始化。

20
填空题

在Spring Boot 2.x及以上版本中,默认使用的连接池是。如果需要切换到Druid连接池,需要在pom.xml中引入druid-spring-boot-starter依赖,并在配置文件中设置spring.datasource.type为。

参考答案
1.错误 2.错误 3.错误 4.错误 5.A 6.C 7.B 8.D 9.B 10.B 11.B 12.C 13.A;B;C;D 14.A;B;C;D 15.A;B;C;D 16.A;B;C;D 17.postProcessBeforeInitialization;postProcessAfterInitialization;动态代理 18.@EnableCaching;redis 19.BeanFactory;BeanFactoryPostProcessor;BeanPostProcessor 20.HikariCP;com.alibaba.druid.pool.DruidDataSource
想在手机上在线作答这套卷子?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别二维码,即可限时作答并自动判分。
了解产品 App
← 上一套 Spring配置方式专项测试