Spring Boot 面试问题

这是为初学者和初级开发者(0-3年经验)准备的2024-2025版终极汇总清单------88个Spring Boot面试问题全集。

涵盖了TCS、Infosys、Cognizant、Accenture、Capgemini、Wipro、Deloitte、IBM、Mindtree、LTIMindtree、Tech Mahindra、HCL等公司提出的所有问题。

序号 问题
1 什么是 Spring Boot?
2 Spring Boot 相较于 Spring Framework 有哪些优势?
3 Spring Boot 中的自动配置是什么?
4 什么是 Spring Boot Starters?列举一些重要的 starter。
5 @SpringBootApplication 注解的作用是什么?
6 @SpringBootApplication 内部包含哪三个主要注解?
7 解释 SpringBootApplication 的 main() 方法的作用。
8 什么是 application.properties 和 application.yml?
9 如何在 Spring Boot 中更改默认端口?
10 application.properties 和 application.yml 之间的区别?
11 @RestController 注解是什么?
12 @Controller 和 @RestController 的区别?
13 什么是 @RequestMapping?
14 @GetMapping、@PostMapping、@PutMapping、@DeleteMapping 是什么?
15 @PathVariable 和 @RequestParam 的区别?
16 如何在 Spring Boot 中返回 JSON 响应?
17 什么是 Spring Boot Actuator?如何启用它?
18 列举一些重要的 Actuator 端点。
19 如何启用所有的 Actuator 端点?
20 @Component、@Service、@Repository 注解的用途?
21 什么是依赖注入?Spring Boot 是如何实现的?
22 @Autowired 是什么?我们可以在哪里使用它?
23 @Component 和 @Bean 的区别?
24 @Configuration 注解是什么?
25 Spring Boot 中的 @Profile 是什么?如何使用?
26 如何创建多个配置文件(dev、prod、test)?
27 什么是 Spring Boot DevTools?它为什么有用?
28 @Entity 注解的用途是什么?
29 什么是 JPA 和 Hibernate?
30 什么是 Spring Data JPA?
31 spring-boot-starter-data-jpa 的作用是什么?
32 如何使用 application.properties 连接数据库?
33 Spring Boot 中默认的嵌入式数据库是什么?
34 列举你使用过的不同 Spring Boot Starters。
35 什么是 spring-boot-starter-web?
36 什么是 spring-boot-starter-test?它包含哪些库?
37 @SpringBootTest 注解是什么?
38 @MockBean 的用途是什么?
39 如何在 Spring Boot 中全局处理异常?
40 什么是 @ControllerAdvice 和 @ExceptionHandler?
41 如何在 Spring Boot 中创建自定义异常?
42 @ResponseStatus 和 @ExceptionHandler 的区别?
43 Spring Boot 中的日志记录是什么?如何更改日志级别?
44 Spring Boot 中默认的日志框架是什么?
45 如何在 Spring Boot 中外部化配置?
46 什么是 Spring Boot CLI?
47 如何创建可执行 JAR?
48 Spring MVC 和 Spring Boot 的区别?
49 pom.xml 和 spring-boot-starter-parent 的作用是什么?
50 spring-boot-starter-parent 和导入 BOM 的区别?
51 如何覆盖 spring-boot-starter-parent 的属性?
52 @Bean 与 @Component?何时使用哪个?
53 什么是 @Qualifier?举例说明。
54 @Primary 和 @Qualifier 的区别?
55 分步解释 Spring Boot 的启动过程。
56 什么是嵌入式 Tomcat?为什么它是 Spring Boot 的默认选项?
57 如何将嵌入式服务器更改为 Jetty 或 Undertow?
58 REST 中受检查异常和非受检查异常的区别?
59 什么是 @ResponseEntity?为什么以及何时使用它?
60 如何在 Spring Boot 中进行验证?(@Valid 与 @Validated)
61 application-dev.yml、application-prod.yml 是什么?Spring 如何选取它们?
62 什么是 Spring Boot 优雅关机?如何启用?
63 @ConfigurationProperties 和 @Value 的区别?
64 Spring Boot 3 的主要变化有哪些?(Java 17, Jakarta EE 等)
65 javax.* 和 jakarta.* 包的区别?
66 @Component、@Service、@Repository、@Controller 之间的确切区别?
67 为什么 @Repository 将受检查异常转换为非受检查异常?
68 什么是 @Lazy 注解?
69 构造器注入 vs 字段注入 vs Setter注入 ------ Spring Boot 3 中推荐哪种?
70 application.yml 和 bootstrap.yml 的区别?
71 如何保护 Spring Boot 应用程序?(至少 3 种方式)
72 什么是 spring-boot-starter-security?
73 Spring Boot 3 中的 @EnableMethodSecurity 是什么?
74 如何创建自定义自动配置?
75 spring.factories / spring-boot-autoconfigure-META-INF 的作用是什么?
76 Actuator + Micrometer + Prometheus + Grafana 是什么?
77 如何创建自定义健康指示器?
78 /actuator/health 和 /actuator/info 的区别?
79 如何从命令行运行特定 profile?
80 什么是 @ConditionalOnMissingBean?举例说明?
81 你能在不使用任何 starter 的情况下运行 Spring Boot 吗?
82 SpringApplication.run() 和 new SpringApplication().run() 的区别?
83 如何禁用 Spring Boot 横幅?(3 种方式)
84 @EntityScan 和 @ComponentScan 的区别?
85 Spring Boot 如何支持响应式编程?(WebFlux 与 MVC)
86 什么是 @EnableAutoConfiguration?
87 如何禁用特定的自动配置?
88 什么是 Spring Initializr?(start.spring.io)

【注】本文译自:Spring Boot Interview Question - DEV Community

相关推荐
wangbing112513 分钟前
springboot应用关闭时触发动作
java·spring boot·后端
子兮曰4 小时前
把 649 种文件格式塞进一个网页里:一个「文件不出浏览器」的预览器
前端·javascript·后端
全栈弄潮儿7 小时前
Python实战第2期: 变量与数据类型
后端·python·agent
paopaokaka_luck7 小时前
基于springboot+vue的智慧家政管理系统(AI问答、 WebSocket实时沟通、ECharts运营分析、订单规则与服务追踪)
java·javascript·spring boot·数据分析·echarts·mybatis
阿森_dev7 小时前
2027 届毕设选题怎么选:30 个 Java 方向选题的实现难度排序
java·开发语言·spring boot·毕业设计·课程设计
计算机毕业设计杰瑞7 小时前
【计算机毕设精品】基于SpringBoot的一体化教务与学业质量管理系统的设计与实现,附源码_增删改查_java项目_可完美运行部署_网站项目
java·spring boot·课程设计
码事漫谈7 小时前
五道题,测测你有没有真的入门 AI
后端
Interview Aid1128 小时前
SoFi 面试流程全解析:技术面试、OA 与备考指南
面试·职场和发展
蜗牛互联网8 小时前
Python + JSON Schema 实现工单结构化输出与本地复核
java·人工智能·后端