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

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

序号问题
1什么是 Spring Boot?
2Spring Boot 相较于 Spring Framework 有哪些优势?
3Spring Boot 中的自动配置是什么?
4什么是 Spring Boot Starters?列举一些重要的 starter。
5@SpringBootApplication 注解的作用是什么?
6@SpringBootApplication 内部包含哪三个主要注解?
7解释 SpringBootApplication 的 main() 方法的作用。
8什么是 application.propertiesapplication.yml
9如何在 Spring Boot 中更改默认端口?
10application.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 注解是什么?
25Spring Boot 中的 @Profile 是什么?如何使用?
26如何创建多个配置文件(dev、prod、test)?
27什么是 Spring Boot DevTools?它为什么有用?
28@Entity 注解的用途是什么?
29什么是 JPA 和 Hibernate?
30什么是 Spring Data JPA?
31spring-boot-starter-data-jpa 的作用是什么?
32如何使用 application.properties 连接数据库?
33Spring 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 的区别?
43Spring Boot 中的日志记录是什么?如何更改日志级别?
44Spring Boot 中默认的日志框架是什么?
45如何在 Spring Boot 中外部化配置?
46什么是 Spring Boot CLI?
47如何创建可执行 JAR?
48Spring MVC 和 Spring Boot 的区别?
49pom.xmlspring-boot-starter-parent 的作用是什么?
50spring-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?
58REST 中受检查异常和非受检查异常的区别?
59什么是 @ResponseEntity?为什么以及何时使用它?
60如何在 Spring Boot 中进行验证?(@Valid@Validated
61application-dev.ymlapplication-prod.yml 是什么?Spring 如何选取它们?
62什么是 Spring Boot 优雅关机?如何启用?
63@ConfigurationProperties@Value 的区别?
64Spring Boot 3 的主要变化有哪些?(Java 17, Jakarta EE 等)
65javax.*jakarta.* 包的区别?
66@Component@Service@Repository@Controller 之间的确切区别?
67为什么 @Repository 将受检查异常转换为非受检查异常?
68什么是 @Lazy 注解?
69构造器注入 vs 字段注入 vs Setter注入 —— Spring Boot 3 中推荐哪种?
70application.ymlbootstrap.yml 的区别?
71如何保护 Spring Boot 应用程序?(至少 3 种方式)
72什么是 spring-boot-starter-security
73Spring Boot 3 中的 @EnableMethodSecurity 是什么?
74如何创建自定义自动配置?
75spring.factories / spring-boot-autoconfigure-META-INF 的作用是什么?
76Actuator + Micrometer + Prometheus + Grafana 是什么?
77如何创建自定义健康指示器?
78/actuator/health/actuator/info 的区别?
79如何从命令行运行特定 profile?
80什么是 @ConditionalOnMissingBean?举例说明?
81你能在不使用任何 starter 的情况下运行 Spring Boot 吗?
82SpringApplication.run()new SpringApplication().run() 的区别?
83如何禁用 Spring Boot 横幅?(3 种方式)
84@EntityScan@ComponentScan 的区别?
85Spring Boot 如何支持响应式编程?(WebFlux 与 MVC)
86什么是 @EnableAutoConfiguration
87如何禁用特定的自动配置?
88什么是 Spring Initializr?(start.spring.io)

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

标签: none

添加新评论