01 Mind Map
02 Question&Answer
Q1: SpringBoot是什么,有什么优点?
A:使应用更加轻量级、开箱即用、默认配置、没有XML配置等。
Q2: SpringBoot有什么特点,举3个例子?
A:全使用注解、内置Tomcat、SpringCloud依赖于SpringBoot组件等。
Q3: SpringBoot中@RestController表示什么意思?
A:json、Restful接口?
Q4: SpringBoot模板引擎有几种,举例3个?
A:Theymeleaf、Freemaker、Velocity、groovy等。
Q5: SpringBoot全局异常捕获原理,有哪几种注解?
A:AOP、可以指定扫描范围、@ControllerAdvice、@ExceptionHandler。
Q6: SpringBoot整合几种数据源的方式(回忆)?
A:JDBCTemplate、Mybatis、SpringJPA、多数据源等。
Q7: SpringBoot事务默认哪两种异常自动回滚?
A:RuntimeException(运行时异常)、Error(错误)。
Q8: SpringBoot日志管理使用什么框架,原理?
A:log4j,使用AOP,切面类里写日志。
Q9: SpringBoot ehcache 使用(回忆)?
A:配置文件?@cacheable注解?管理者获取?。
Q10: SpringBoot项目的热部署如何实现?
A:配置IDEA、maven添加依赖dev-tools。
Q11: SpringBoot 监控管理使用哪两种框架?
A:Actuator获取信息(监视和管理应用程序)、Admin-UI显示Actuator收集的信息。
Q12: SpringBoot 性能优化建议(提出3条)?
A:组件扫描方式?Servlet容器(Undretow)?JVM调优。
Q13: SpringBoot 核心原理?
A:maven继承依赖关系、内置tomcat、SpringMVC注解版。
Q14: SpringBoot 2.0新特性(提出3条)?
A:OAuth2.0支持、Quartz Scheduler、以java 8 为基准等。
Q15: SpringSecurity是什么?什么是RBAC模型?
A:声明式安全访问控制功能框架?基于角色的访问控制?。
Q16: 互联网架构的演变过程(4个阶段),举出优缺点?
A:传统架构?分布式架构?SOA架构?微服务架构?。
Q17: 什么是SpringCloud,有什么功能,有什么组件?
A:完整的服务解决框架?Eureka、Hystrix、Zuul、Feign、Ribbon等?。
Q18: 说说对Spring Eureka组件的了解?
A:注册中心?集群?服务消费者模式?服务注册模式?。
Q19: SpringCloud Eureka替代方案?
A:Consul?Zookeeper?。
Q20: 什么是CAP理论?为什么Eureka只保证CP,Eureka保证AP
A:“一致性C”、“可用性A”、“容错性P”?Eureka需要选举,不能保证A,Eureka只有一个Eureka节点都可以运行,不能保证C。
Q21: 说说对Spring Ribbon的看法
A:本地负载均衡、某方面比Nginx好,均衡分担到各个客户端、Nginx处理压力有点大。
Q22: 什么是服务雪崩?
A:服务堆积在一个线程池,满了,无法访问,会雪崩。
Q23: 服务雪崩的解决方案有那些?举例3个
A:降级(返回一个友好提示)、限流(令牌桶、漏桶)、熔断(达到阀值,返回友好提示)。
Q24: Hystrix如何集成(回忆)?如何使用JMeter压力测试
A:配置文件?方法声明熔断?熔断回调方法?。
Q25: Hystrix有没有可视化工具?如果集群如何查看?
A:仪表盘:监控Hystrix各项指标?Turbine集群监控。
Q26: 说说你对Feign的理解?
A:声明式服务调用、调用方式类似于Controller调用Service一样,无需知道url、端口等。
Q27: SpringCloud 分布式配置中心有几个模块?流程是如何的?
A:Git/SVN -> ConfigServer -> Config-Client1、 Config-Client2、 Config-Client3。
Q28: SpringCloud 分布式配置中心有两种刷新数据方式,哪两种?流程如何?
A:Actuator端点刷新(手动)?bus消息总线刷新(主动刷新)。
Q29: 说说对SpringCloud Zuul的理解?
A:网关、比Nginx弱,Nginx抗高并发、Zuul适用于请求过滤和拦截。
Q30: 网关框架有哪些?举3个例子?
A:Kong、Nginx、Orange。
Q31:Zuul如何集成Ribbon实现负载均衡?如何实现动态网关?(回忆)
A:动态网关可以参考分布式配置中心技术。
Q32:Swagger是什么?有什么作用?
A:接口管理,可以在线调试。
Q33:如何使用Swagger管理所有微服务接口?
A:Zuul整合Swagger。
Q34:什么是Sleuth,它和Zipkin有什么关系?
A:服务链路监控,Zipkin收集服务的定时数据,Sleuth结合Zipkin,将信息返回给Zipkin,ZipkinUI展示数据。
Q35:服务跟踪的原理?
A:TraceID?SpanID?。
Q36:什么是消息总线?如何实现分布式配置文件更新?
A:广播的方式通知所有微服务、实现动态刷新?使用RabbitMQ工具。
Q37:什么是消息驱动?绑定器结构图是如何的?
A:简化开发人员对中间件的使用复杂度?Source、Sink、Channel、Binder(抽象层,随机替换RabbitMQ和Kafka)。
Q37:消费者组收到两个消息如何处理?要求至收到一个消息?
A:通过指定一个组名来实现消费者轮询,智能消费一个消息。
Q38:描述下OAth的流程?如何使用SpringCloud搭建微服务开放平台?
A:???。
Q39:SpringCloud2.x有什么新技术?举3个例子?
A:SpringCloud GateWay、阿里Nacos、SpringCloud-R4j熔断器等。
Q40:Dubbo是什么?
A: RPC远程调用、服务治理框架。
Q41:Dubbo原理图包含哪几种对象?每个对象做什么?流程如何?
A: 提供者、消费者、注册中心、监控、服务运行容器?提供者、消费者注册中心注册 ->消费者从注册中心获取服务列表 -> 提供者和消费者每分钟发送依次数据给监控中心。
Q42:Dubbo如何搭建(回忆)?
A: 注册中心、DubboAdmin、客户端注册Zookeeper。
Q43:Dubbo与SpringCloud的区别(举例3个)?为何抛弃Dubbo?
A: 开发商?更新与稳定?内容。
Q44:回忆Docker相关的内容?
A: 优点?架构?与虚拟机的比较?docker命令的记忆?。