📜  OYO Rooms 面试体验 |第 4 组(用于后端配置文件)(1)

📅  最后修改于: 2023-12-03 15:03:26.298000             🧑  作者: Mango

OYO Rooms 面试体验 | 第4组(用于后端配置文件)

简介

本文是针对OYO Rooms 后端开发岗位的面试体验,主要介绍了与后端配置文件相关的问题。

面试技术栈
  • 编程语言:Java/Kotlin/Python等
  • MySQL数据库
  • Spring Boot框架
面试问题
  • 请介绍一下你对配置文件的理解,以及常用的配置文件类型?

配置文件是一类存储程序运行所需配置信息的文本文件,减少编码负担,避免代码重构的需求。常见配置文件类型包括properties、yml、xml等。

  • 使用Spring Boot时,你一般会用哪种类型的配置文件?它们之间有什么区别?

在Spring Boot中,yml配置文件是目前的主流,因为它语法简单且易于维护,但与properties相比yml有更多高级特性,比如列表、对象嵌套等高级特性。

  • 请谈谈你对properties/yaml/yml配置文件中的前缀与占位符的理解?

前缀是指通过在配置文件中指定特定的前缀,将配置文件中的所有以该前缀开头的配置项自动装配至对应的目标。

占位符是指类似于${...}形式的字符串,Spring容器会在读取配置文件前将这些占位符进行解析,并将其替换成实际的值,从而实现在配置文件中引用配置项的功能。

  • 请问你如何设置Spring Boot的配置文件优先级?

Spring Boot 配置文件的优先级排序如下:

  1. 命令行参数
  2. 来自 SPRING_APPLICATION_JSON 的属性(web环境下默认为空)
  3. java:comp/env 下的 JNDI 属性
  4. Java 系统属性(systemProperties)
  5. 操作系统环境变量
  6. 只有一个的 application.properties 或者默认的 application.yml 位于项目的根目录下;
  7. classpath 里的 application.properties 或者 application.yml
  8. 通过 @PropertySource 注解声明的属性;
  9. 默认值对应的属性。
总结

本文介绍了OYO Rooms 后端开发岗位的常见面试问题,以及与配置文件相关的问题。希望本文能够帮助大家更好地应对后端开发面试。