中间件八股文
共 50 节教程 · 点击章节开始阅读
01★ Redis 有哪些数据结构,底层编码分别是什么?开始阅读 ›02★ RDB 与 AOF 有什么区别?生产环境如何选型?开始阅读 ›03Redis 过期删除策略与内存淘汰策略有何区别?如何配置?开始阅读 ›04★ 缓存穿透、缓存击穿、缓存雪崩是什么?如何应对?开始阅读 ›05★ 如何保证缓存与数据库一致性?Cache Aside 与延迟双删怎么用?开始阅读 ›06热 key 与大 key 如何发现与处理?开始阅读 ›07★ Redisson 分布式锁原理是什么?主从切换会带来什么问题?开始阅读 ›08Redis 主从复制与哨兵是如何工作的?开始阅读 ›09Redis Cluster 的哈希槽如何分配?扩容迁移有什么影响?开始阅读 ›10为什么要用消息队列?它解决了什么问题又引入哪些新问题?开始阅读 ›11如何保证消息可靠投递?生产端 confirm 与事务机制怎么选?开始阅读 ›12★ 如何保证消息消费幂等?重复消息如何识别与去重?开始阅读 ›13RabbitMQ 有哪些交换机类型?绑定与路由键如何工作?开始阅读 ›14RabbitMQ 如何保证消息不丢失?confirm、手动 ack 与持久化怎么配合?开始阅读 ›15什么是死信队列?RabbitMQ 如何实现延迟队列?开始阅读 ›16★ Kafka 如何保证消息顺序?分区与顺序有什么关系?开始阅读 ›17Kafka 的 ISR、acks 与副本机制如何保证可靠性?开始阅读 ›18Kafka 消费者组是什么?rebalance 如何发生、有何影响?开始阅读 ›19★ 分布式事务有哪些方案?2PC、TCC、本地消息表与最终一致性怎么选?开始阅读 ›20分布式 ID 有哪些生成方案?雪花算法原理与缺陷是什么?开始阅读 ›21接口层幂等如何设计?有哪些实现要点?开始阅读 ›22一次 RPC 调用要经过哪些环节?超时与重试要注意什么?开始阅读 ›23注册中心如何选型?Nacos、Consul、ZooKeeper、Eureka 有何区别?开始阅读 ›24配置中心有什么作用?配置热更新是如何实现的?开始阅读 ›25网关的常见职责有哪些?路由、鉴权、限流分别怎么做?开始阅读 ›26★ MySQL 为什么选用 B+Tree 作为索引结构?开始阅读 ›27聚簇索引、二级索引、回表与覆盖索引分别是什么?开始阅读 ›28★ 最左前缀原则是什么?哪些常见写法会导致索引失效?开始阅读 ›29怎么读 EXPLAIN?type、key、rows、Extra 分别说明什么?开始阅读 ›30事务的 ACID 如何理解?MySQL 的隔离级别与实现手段是什么?开始阅读 ›31★ redo log、undo log、binlog 分别管什么?两阶段提交解决什么问题?开始阅读 ›32慢 SQL 怎么定位?给出从查看到优化的完整流程。开始阅读 ›33MySQL 主从复制原理是什么?主从延迟从哪来、怎么治理?开始阅读 ›34读写分离落地要注意什么?主从延迟导致的“读旧数据”怎么破?开始阅读 ›35★ 分库分表怎么做?水平/垂直、取模/一致性哈希怎么选,代价是什么?开始阅读 ›36★ Nginx 反向代理怎么做负载均衡?有哪些调度策略与健康检查方式?开始阅读 ›37Nginx 动静分离怎么做?静态缓存与代理缓存配置要点有哪些?开始阅读 ›38API 网关应该承担哪些职责?鉴权、灰度、限流怎么设计?开始阅读 ›39★ 多级缓存架构怎么搭?本地缓存与 Redis 各自扮演什么角色?开始阅读 ›40用 binlog 订阅(如 Canal)做缓存/数据同步的原理与坑是什么?开始阅读 ›41登录态方案怎么选?JWT 与集中式 Session 各有什么优劣?开始阅读 ›42★ 超时、重试怎么设计才不拖垮系统?指数退避与抖动是什么?开始阅读 ›43熔断、降级、限流分别解决什么问题?在整体架构中如何联动?开始阅读 ›44全链路追踪怎么做?traceId、span 与日志体系如何打通?开始阅读 ›45RabbitMQ、Kafka、RocketMQ 怎么选?它们的核心差异在哪?开始阅读 ›46注册中心与配置中心怎么选型?Nacos、Consul、ZooKeeper、etcd 怎么对比?开始阅读 ›47评估一个中间件该看哪些维度?如何做技术选型决策?开始阅读 ›48★ 设计一个延迟消息队列,你会怎么做?开始阅读 ›49设计秒杀系统:存储与缓存方案怎么落地?开始阅读 ›50综合题:一次下单链路里 Redis、MQ、MySQL 如何协作?可靠性与一致性如何取舍?开始阅读 ›