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.propertiesapplication.yml
9 如何在 Spring Boot 中更改默认端口?
10 application.propertiesapplication.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.xmlspring-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.ymlapplication-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.ymlbootstrap.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

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注