全是测试岗高频面试原题 + 标准答题话术,直接背就能用。

一、Redis 面试必背

1、Redis 为什么快?

  1. 单线程模型,无线程竞争切换开销
  2. 基于内存操作,读写速度远超磁盘
  3. IO 多路复用,高并发连接处理能力强
  4. 底层数据结构设计高效(跳表、哈希表)

2、Redis 持久化两种方式

  • RDB:定时全量快照,恢复快、占资源低,可能丢最后一次快照后数据
  • AOF:逐条记录写命令,实时性高、丢数据少,文件体积大、恢复慢

3、缓存三大问题 + 解决方案

  1. 缓存穿透:查不存在的数据一直打数据库解决:布隆过滤器、空值缓存、接口层校验
  2. 缓存击穿:热点 Key 过期瞬间大量请求打 DB解决:互斥锁、永不过期、热点 Key 后台续期
  3. 缓存雪崩:大量 Key 同时过期 / Redis 宕机解决:过期时间加随机值、集群高可用、服务熔断降级

4、Redis 淘汰策略

allkeys-lru、volatile-lru、allkeys-random、volatile-random、volatile-ttl、noeviction

5、Redis 集群模式

主从复制、哨兵 Sentinel、Cluster 集群;作用:高可用、读写分离、分片扩容。

二、Kafka 面试必背

1、核心概念

Broker、Topic、Partition、副本、生产者、消费者、消费组。同一消费组内,一个分区只能被一个消费者消费

2、Partition 分区作用

  • 提高并发,水平扩展
  • 实现消息顺序性(同分区内有序)
  • 负载均衡,分摊存储和消费压力

3、消息可靠性保证

生产者:acks=1 /all、重试机制服务端:副本同步、ISR 机制消费者:手动提交 offset,处理完再确认

4、消息丢失 / 重复 / 乱序怎么测试

  • 丢消息:停 Broker、网络中断、重启节点校验消息完整性
  • 重复消费:重启消费者、偏移量回退,看幂等是否生效
  • 乱序:多分区默认无序,同分区保证有序

5、Kafka 高可用

分区多副本、ISR 同步、故障自动选举 Leader。

三、RocketMQ 面试必背

1、核心组件

NameServer(路由注册发现)、Broker、Producer、Consumer、Topic、MessageQueue。

2、相比 Kafka 优势

  • 支持事务消息、延时消息、死信队列
  • 运维更简单,适合金融业务
  • 重试队列、广播 / 集群消费原生支持

3、消息类型

普通消息、延时消息、顺序消息、事务消息、批量消息。

4、测试重点

消息投递成功率、积压能力、重试机制、死信处理、集群故障切换、事务消息一致性。

四、Nginx 面试必背

1、作用

反向代理、负载均衡、静态资源缓存、限流、动静分离、SSL 证书。

2、负载均衡策略

轮询、加权轮询、IP 哈希、最少连接、url 哈希。

3、反向代理 vs 正向代理

  • 正向代理:代理客户端(翻墙、内网访问外网)
  • 反向代理:代理服务端(用户无感知,统一入口分发)

4、Nginx 测试要点

并发压力、限流阈值、转发正确性、故障节点自动摘除、配置重载不中断业务、SSL 兼容性。

五、中间件通用测试思路(面试万能话术)

  1. 功能测试:增删资源、收发数据、配置变更、权限校验
  2. 性能测试:TPS/QPS、响应时间、消息积压、内存 CPU 占用
  3. 高可用测试:节点宕机、网络断连、主从切换、重启恢复
  4. 异常测试:超时、重复请求、超大报文、并发冲突
  5. 一致性测试:缓存与 DB 一致、消息不丢不重、事务最终一致
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐