请简单介绍一下你们的项目?
项目主要是获取最新的热点新闻资讯,通过大数据分析用户的喜好然后推送给用户
你们项目的技术架构是怎样的?
前后端分离的开发模式,前端用的vue框架以及Weex、Echarts、WS,后端用的Spring Boot框架结合Spring Cloud技术,实现个人用户,自媒体,管理中心多个微服务的架构.
你们Springboot及SpringCloud使用的版本?
springboot用的2.3.9的版本,springcloud用的Hoxton的版本
你是如何理解前后端分离开发的?
能够实现前后端解耦;前后端各负责自己的功能,提高工作效率.维护成本降低,能够快速定位到问题所在.
你们后端接口是如何测试的?
使用swagger框架结合knife4j的技术完成功能接口测试.
SpringMVC接收参数的注解有哪些?
@RequestBody @RequestParam @PathVaribale
你们的接口文档是如何定义的:
swagger框架能够在线自动生成接口文档,只需要在项目中引入依赖,在JAVA类中使用一些Swagger提供的注解即可做到.
你们项目的数据库设计情况? 你是否有独立设计过数据库?
能否说出SpringBoot的自动装配原理?
自动装配是指,在使用springboot的时候会自动将Bean注入到IOC容器中
大致过程是,会读取组件META-INF文件夹下的spring.factories文件,文件中会列出需要注入到IOC容器中的类,然后将类注入到IOC容器中使用.
自动装配原理:是通过@springbootApplication注解实现的,这个注解声明在springboot启动类上.注解底层里面有一个@EnableAutoConfiguration注解,就是通过这个注解实现自动装配,EnableAutoConfiguration再往里有一个AutoConfigurationPackage注解会将添加该注解的类所在的package作为自动配置package进行管理,通过AutoConfigurationPackages工具类获取自动配置package列表,当SpringBoot应用启动时默认会将启动类所在的package作为自动配置的package;@EnableAutoConfiguration注解最重要的是AutoConfigurationImportSelector.class,会将需要装配的类装配到IoC容器.
项目中是否自定义过starter起步依赖,如何定义?
项目中异常是怎么处理的?
项目中注册中心的作用?
用的是nacos,它既是注册中心也是配置中心,能够统一管理多个微服务的地址,能够监控微服务的健康状态,同时作为配置中心,能够将配置从非服务中分离出来,存放在nacos中,微服务启动时先从naocs中获取配置信息,再加载微服务.
项目中api网关的作用?
请求路由,负载均衡,权限校验,请求限流,身份认证
