你们Springboot及SpringCloud使用的版本?

    • SpringBoot: 2.3.9.RELEASE
    • SpringCloud: Hoxton.SR8

    你是如何理解前后端分离开发的?

    前后端基于接口文档并行开发

    • 后段基于接口文档提供对应的接口实现
    • 前端基于接口文档生成mock数据,进行前端的开发,按照mock数据进行测试

    你们后端接口是如何测试的?
    单元测试,swagger,knife4j,postman

    SpringMVC接收参数的注解有哪些?

    1. @RequestBody //接收json格式
    2. @RequestParam //接收key value格式
    3. @PathVaribale //接收路径参数

    你们项目的数据库设计情况? 你是否有独立设计过数据库?
    冗余字段设计,避免多表联查

    能否说出SpringBoot的自动装配原理?
    springboot的自动装配就是通过自定义实现ImportSelector接口,从而导致项目启动时会自动将所有项目
    META-INF/spring.factories路径下的配置类注入到spring容器中,从而实现了自动装配。

    项目中是否自定义过starter起步依赖,如何定义?
    编写完starter代码后在resources目录下新建 META-INF文件夹并在其下新建spring.factories文件

    1. org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
    2. com.xxx.XxxxConfiguration

    实现starter配置类的自动装配
    然后其他微服务需要该starter的直接引入依赖即可

    项目中异常是怎么处理的?
    使用RestControllerAdvice连接项目中所有的异常,统一处理

    项目中注册中心的作用?

    1. 发现,注册微服务
    2. 使用心跳机制监测服务健康状态

    项目中api网关的作用?

    1. 身份认证,权限校验
    2. 请求路由,负载均衡
    3. 限流