面试题库

全部 Django Elasticsearch FastAPI Flask Function Call JVM Java IO Java 后端 Java 基础 Java 并发 Java 新特性 Java 集合 JavaWeb Kafka LLM LangChain LangGraph MongoDB MyBatis MySQL Netty Nginx Python RAG RabbitMQ Redis RocketMQ Spring Spring AI SpringBoot SpringCloud SpringMVC ZooKeeper 分布式 后端技术 大厂面经 大数据 微服务 提示词工程 操作系统 数据库 数据结构 智能体 海康威视2026秋季社招专项 消息队列 监控运维 算法 系统设计 缓存 计算机基础 计算机网络 设计模式 面试题 高可用 高并发
RocketMQ 困难

为什么 RocketMQ 的 CommitLog 文件不做「紧凑」(compaction)?它如何避免碎片?

RocketMQ 中等

RocketMQ 如何删除过期的消息文件?触发时机与条件是什么?

RocketMQ 简单

零拷贝(sendfile)在 RocketMQ 消费消息时是如何发挥作用的?

RocketMQ 中等

RocketMQ 为什么把「读」和「写」分离到 CommitLog 与 ConsumeQueue?

RocketMQ 困难

消息在 CommitLog 中的存储格式是怎样的?包含哪些字段?

RocketMQ 简单

RocketMQ 的存储文件(CommitLog)默认多大?文件是如何滚动和命名的?

RocketMQ 困难

transientStorePoolEnable 开启后,写入路径发生了什么变化?

RocketMQ 中等

为什么 RocketMQ 的 CommitLog 和 ConsumeQueue 都用 mmap 映射?

RocketMQ 中等

IndexFile 是什么?它是如何支持按 Key 查询消息的?

RocketMQ 困难

CommitLog 和 ConsumeQueue 之间是如何「对齐」的?消息写入后 ConsumeQueue 何时生成?

RocketMQ 中等

ConsumeQueue 是什么?它的每条记录包含哪些字段、多少字节?

RocketMQ 简单

CommitLog 为什么采用顺序写?随机写和顺序写差距有多大?