Kafka 面试题精选

1. Kafka 基础知识与概念
  • Apache Kafka: 开源分布式事件流平台,用于实时数据处理与传输。
  • 主要用途: 大数据实时处理、日志聚合与传输、消息队列与微服务集成、网站活动追踪与用户行为分析、数据集成。
2. Kafka 架构与设计
  • Producer: 发布消息到 Kafka 集群的应用程序。
  • Broker: Kafka 集群的服务器节点,存储并转发消息。
  • Consumer: 从 Kafka 读取消息并处理的应用程序。
  • Topic: 消息的逻辑分类或通道名称。
  • Partition: 每个 Topic 可被划分为多个 Partition,提高并发处理能力。
3. Kafka 消息顺序性保证
  • 分区: 每个 Partition 内部消息有序。
  • 单生产者到单 Partition: 保证消息顺序。
  • 同步发送: acks=all 确保消息被所有 ISR 写入。
  • 消息偏移量: 每个消息的唯一标识,保证消费顺序。
4. Kafka 消息存储
  • Log Segments: 物理存储消息的文件,每个 Partition 由多个 Segments 组成。
  • Segment 命名与滚动: 达到预设大小或时间阈值时滚动。
  • 删除策略: 定期删除旧 Segment 释放空间。
5. Kafka 高可用性与分区机制
  • 副本机制: 每个 Partition 有多个副本分布在不同 Broker 上。
  • ISR 列表: 维护当前活跃副本集,确保数据一致性。
  • 控制器 Broker: 管理集群元数据。
6. Kafka 架构与集群工作方式
  • 生产者发送消息: 消息按分区策略分配到不同 Partition。
  • Broker 存储消息: 追加到 Partition 日志。
  • 消费者订阅消费消息: 通过订阅 Topic 消费消息。
  • 副本和故障转移: Leader 处理请求,Follower 同步数据。
7. Kafka 副本机制
  • 分区副本: 每个 Partition 有 Leader 和 Follower。
  • ISR 列表: 与 Leader 保持同步的 Follower 集合。
  • 数据不丢失保证: 生产者确认策略、副本故障处理、最小 ISR 配置。
8. Kafka 消息传递语义
  • At-Least-Once: 消息至少被处理一次,可能多次。
  • At-Most-Once: 消息最多被处理一次,可能未处理。
  • Exactly-Once: 消息恰好被处理一次。
9. Kafka 性能与优化
  • 影响因素: 硬件资源、配置参数、架构设计。
  • 调优方法: 硬件优化、配置调优、架构设计优化。
10. Kafka 批处理机制
  • 生产者批处理: 累积消息后批量发送。
  • 消费者批处理: 一次性拉取多个消息。
11. Kafka 消息积压处理
  • 增加分区和消费者数量: 提高消费速率。
  • 提高消费批次大小: 减少拉取频率。
  • 优化消费逻辑: 提升处理速度。
12. Kafka 延时问题解决方案
  • 优化网络和硬件: 提升传输和处理速度。
  • 调整批处理策略: 平衡吞吐量与延迟。
  • 增强消费者能力: 提升处理速度。
13. Kafka 故障排查与安全性
  • Broker 宕机影响: 分区不可用,数据丢失风险。
  • 恢复措施: 配置多个副本、监控警报、自动故障转移。
14. Kafka 监控与诊断
  • 使用 Kafka 内置指标: 监控集群状态。
  • 监控 ZooKeeper: 确保元数据管理稳定。
  • 使用工具和平台: Kafka Healthcheck、管理工具。
15. Kafka 安全特性
  • 连接认证: SSL/TLS、SASL、OAuth。
  • 授权: 使用 ACL 实现细粒度控制。
16. 多租户环境下 Kafka 安全隔离
  • 物理或逻辑集群隔离: 区分不同租户数据。
  • 主题和分区隔离: 独立主题或使用前缀区分。
  • 认证与授权: 确保合法租户访问。
  • 网络隔离: 使用网络策略限制访问。
  • 加密: 通信加密,增强数据安全性。
  • 日志清理与保留策略: 管理数据合规性。
  • 监控与审计: 记录审查访问请求。
相关推荐
zzz_23684 小时前
【Spring】面试突击系列(六):Spring 工程实践与面试综合
java·spring·面试
牛油果子哥q4 小时前
【C++ this指针】C++ this指针深度精讲:this底层本质、存储位置、调用机制、const this指针、空指针调用、面试坑点与工程实战
开发语言·c++·面试
用户47949283569154 小时前
盛大集团面经(专升本毕业 9 个月,99%代码靠 AI 写)
面试
Elias不吃糖4 小时前
AI Resume Forge:基于 LangGraph 的 AI 简历优化与模拟面试平台
java·人工智能·面试·agent开发
程序员二叉5 小时前
【Java】String 全套高频面试题详解
java·开发语言·面试
小江的记录本5 小时前
【Spring全家桶】Spring AI核心原理、大模型集成、Prompt工程、RAG实现、AI Agent开发(附《思维导图》+《面试高频考点清单》)
java·人工智能·spring boot·后端·spring·面试·prompt
EMA5 小时前
Agent开发中数据分析图表工具分层暴露方案总结
面试
WyCAGy8ij5 小时前
Redis 分布式锁进阶第四篇讲解
数据库·redis·分布式
牛油果子哥q5 小时前
【C++封装】C++封装思想与访问权限终极精讲:public/private/protected权限解析、类封装设计、继承权限变化、工程私有化规范与面试坑点
c++·面试
胡萝卜术6 小时前
从零开始掌握AI应用开发:我的大模型学习路线图(RAG/Agent/MCP/全栈实践)
前端·javascript·面试