1.springboot是怎样工作的?
①Spring框架的二次封装
②@SpringBootApplication注解,
③自动配置(基于@EnableAutoConfiguration注解)
④注解组合
⑤@Conditional注解,进行条件判断: 符合条件则加载该bean,不符合则不加载该bean
2.springcloud五大组件
①服务发现 Eureka 由两个组件组成:Eureka服务器和Eureka客户端
②客户端负载均衡 Ribbon 简单轮询负载均衡,加权响应时间负载均衡,区域感知轮询负载均衡,随机负载均衡
③断路器 Hystrix 对来自依赖的延迟和故障进行防护和控制,阻止故障的连锁反应,快速失败并迅速恢复,提供近实时的监控与告警
④服务网关 Zuul 代理+路由+过滤
⑤分布式配置 Spring Cloud Config 客户端 服务端 可将配置文件存储到git或者svn
3.dubbo的注册中心有几种?
①Zookeeper
②Multicast Provider 和 Consumer 和 Registry 不能跨机房(路由)
③Redis 要求服务器时间同步.否则可能出现集群失败问题
④Simple 不支持集群
4.dubbo+zookeeper和SpringCloud Eureka区别?
①dubbo是RPC框架下的通信,springCloud 是HTTP协议的Rest Api
②Eureka保证AP(高可用、分区容错性),Eureka的自我保护机制; Zookeeper保证CP(一致性、分区容错性)
5.redis有几种持久化模式?
redis需要经常将内存中的数据同步到磁盘来保证持久化
①Snapshotting(快照)
②aof
③虚拟内存方式(desprecated)
④diskstore
6.sql调优怎么调?具体
①创建必要的索引
②使用预编译查询
③调整WHERE子句中的连接顺序
④SELECT语句中避免使用’*’
⑤尽量将多条SQL语句压缩到一句SQL中
⑥用Where子句替换HAVING子句
⑦使用表的别名
⑧用EXISTS替代IN
⑨用表连接替换EXISTS
⑩避免在索引列上使用计算
11 用UNION ALL 替换UNION
12 避免隐式类型转换造成的全表扫描
13 防止检索范围过宽
14 SQL语句尽量用大写
15 利用with字句重用查询