1、redis数据和数据库数据一致性问题
2、redis的持久化类型(RDB、AOF)与常用数据类型
3、kafka的运行原理
4、kafka的手动提交和自动提交的区别
5、锁的类型
6、MyCat分库分表(server.xml schemas.xml逻辑库 rule.xml逻辑表)
7、eureka运行原理、工作流程
1)、Eureka Server 启动成功,等待服务端注册。在启动过程中如果配置了集群,集群之间定时通过 Replicate 同步注册表,每个 Eureka Server 都存在独立完整的服务注册表信息
2)、Eureka Client 启动时根据配置的 Eureka Server 地址去注册中心注册服务
3)、Eureka Client 会每 30s 向 Eureka Server 发送一次心跳请求,证明客户端服务正常
4)、当 Eureka Server 90s 内没有收到 Eureka Client 的心跳,注册中心则认为该节点失效,会注销该实例
5)、单位时间内 Eureka Server 统计到有大量的 Eureka Client 没有上送心跳,则认为可能为网络异常,进入自我保护机制,不再剔除没有上送心跳的客户端
6)、当 Eureka Client 心跳请求恢复正常之后,Eureka Server 自动退出自我保护模式
7)、Eureka Client 定时全量或者增量从注册中心获取服务注册表,并且将获取到的信息缓存到本地
8)、服务调用时,Eureka Client 会先从本地缓存找寻调取的服务。如果获取不到,先从注册中心刷新注册表,再同步到本地缓存
8、事务的特征和隔离
8.1、数据库事务的隔离级别
9、下单场景的实现设计
(1)数据库设计
(2)秒杀
10、回收机制
1)、 引用计数算法
2)、 可达性分析算法
11、kafka是怎么消费的
12、MySql的引擎
13、SpringCloud、SpringBoot的优点
14、微服务的优点
1.微服务(Microservices Architecture)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。
1).解耦,每个微服务都很小,这样能聚焦一个指定的业务功能或业务需求。.微服务能够被小团队单独开发,这个小团队是2到5人的开发人员组成。分工明确,单独开发
2).高灵活性,系统不会被长期限制在某个技术栈上,微服务能使用不同的语言开发、技术栈
3).高容错性,一个服务的瘫痪并不会让整个系统瘫痪
缺点:
1)开发人员要处理分布式系统的复杂性
2)多服务运维难度,随着服务的增加,运维的压力也在增大
HashMap底层实现原理:
Entry存放值
存放的规则 hash算法然后去模,重复的地方
两个线程共享一个变量,ThreadBase
聚集索引、覆盖索引、排列索引