kafka面试题(基础-进阶-高阶)

目录

Kafka 基础篇

1.Kafka 的用途有哪些?使用场景如何?

2.Kafka 中的ISR、AR 又代表什么?ISR 的伸缩又指什么

3.Kafka 中的 HW、LEO、LSO、LW 等分别代表什么?

4.Kafka 中是怎么体现消息顺序性的?

5.Kafka 中的分区器、序列化器、拦截器是否了解?它们之间的处理顺序是什么?

6.Kafka 生产者客户端的整体结构是什么样子的?

7.Kafka 生产者客户端中使用了几个线程来处理?分别是什么?

8.Kafka 的旧版Scala 的消费者客户端的设计有什么缺陷?

9.“消费组中的消费者个数如果超过 topic 的分区,那么就会有消费者消费不到数据”这句话是否正确?如果正确,那么有没有什么 hack 的手段?

10.有哪些情形会造成重复消费?

那些情景下会造成消息漏消费?        

12.KafkaConsumer 是非线程安全的,那么怎么样实现多线程消费?

13.简述消费者与消费组之间的关系

14.当你使用 kafka-topics.sh 创建(删除)了一个 topic 之后,Kafka 背后会执行什么逻辑?

15.topic的分区数可不可以增加?如果可以怎么增加?如果不可以,那又是为什么?

16.topic的分区数可不可以减少?如果可以怎么减少?如果不可以,那又是为什么?

17.创建 topic 时如何选择合适的分区数?

Kakfa 进阶篇

1. Kafka 目前有哪些内部 topic,它们都有什么特征?各自的作用又是什么?

2. 优先副本是什么?它有什么特殊的作用?

3. Kafka 有哪几处地方有分区分配的概念?简述大致的过程及原理

4. 简述 Kafka 的日志目录结构

5. Kafka 中有那些索引文件?

6. 如果我指定了一个 offset,Kafka 怎么查找到对应的消息?

7. 如果我指定了一个 timestamp,Kafka 怎么查找到对应的消息?

8. 聊一聊你对 Kafka 的 Log Retention 的理解

1、基于时间

2、基于日志大小

3、基于日志起始偏移量

9.聊一聊你对 Kafka 的 Log Compaction 的理解#

10.聊一聊你对 Kafka 底层存储的理解

11.聊一聊Kafka 的延时操作的原理

12 聊一聊 Kafka 控制器的作用

13.Kafka 的旧版 Scala 的消费者客户端的设计有什么缺陷?

14.消费再均衡的原理是什么?(提示:消费者协调器和消费组协调器)

15.Kafka 中的幂等是怎么实现的?

Kafka 高级篇

1.Kafka 中的事务是怎么实现的?

2.失效副本是指什么?有那些应对措施?

3.多副本下,各个副本中的 HW 和 LEO 的演变过程

4.Kafka 在可靠性方面做了哪些改进?

5.为什么 Kafka 不支持读写分离?

6.Kafka 中的延迟队列怎么实现

7.Kafka 中怎么实现死信队列和重试队列?

8.Kafka 中怎么做消息审计?

9.Kafka 中怎么做消息轨迹?

10. 怎么计算 Lag ? ( 注意 read_uncommitted 和 read_committed 状态下的不同)

11.Kafka 有哪些指标需要着重关注?

12.Kafka 的那些设计让它有如此高的性能?

1.分区

2.网络传输上减少开销

3.顺序读写

4.零拷贝技术

5. 优秀的文件存储机制


Kafka 基础篇

1.Kafka 的用途有哪些?使用场景如何?

消息系统: Kafka 和传统的消息系统(也称作消息中间件)都具备系统解耦、冗余存储、流量削峰、缓冲、异步通信、扩展性、可恢复性等功能。与此同时,Kafka 还提供了大多数消息系统难以实现的消息顺序性保障及回溯消费的功能。

存储系统: Kafka 把消息持久化到磁盘,相比于其他基于内存存储的系统而言,有效地降低了数据丢失的风险。也正是得益于 Kafka 的消息持久化功能和多副本机制,我们可以把Kafka 作为长期的数据存储系统来使用,只需要把对应的数据保留策略设置为“永久”或启用主题的日志压缩功能即可。

流式处理平台: Kafka 不仅为每个流行的流式处理框架提供了可靠的数据来源,还提供了一个完整的流式处理类库,比如窗口、连接、变换和聚合等各类操作。

相关推荐

  1. kafka面试基础--

    2024-07-12 07:18:04       26 阅读
  2. Vue 面试

    2024-07-12 07:18:04       44 阅读
  3. react面试

    2024-07-12 07:18:04       41 阅读
  4. 面试-mongodb

    2024-07-12 07:18:04       17 阅读
  5. 面向对象基础练习

    2024-07-12 07:18:04       21 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 07:18:04       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 07:18:04       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 07:18:04       58 阅读
  4. Python语言-面向对象

    2024-07-12 07:18:04       69 阅读

热门阅读

  1. 跨平台开发新纪元:Xcode的多平台应用构建指南

    2024-07-12 07:18:04       32 阅读
  2. 偶现bug解决策略

    2024-07-12 07:18:04       22 阅读
  3. Xcode打包与发布全攻略:将你的应用带上App Store

    2024-07-12 07:18:04       33 阅读
  4. x.permute(0, 3, 1, 2).contiguous() 和 x.permute(0, 3, 1, 2)

    2024-07-12 07:18:04       26 阅读
  5. 【网络协议】OSPF

    2024-07-12 07:18:04       21 阅读
  6. WebSocket、socket.io-client

    2024-07-12 07:18:04       26 阅读
  7. ffmpeg新旧函数对比

    2024-07-12 07:18:04       28 阅读
  8. 量化机器人对投资策略的调整

    2024-07-12 07:18:04       31 阅读
  9. 路由器概述以及静态路由配置

    2024-07-12 07:18:04       25 阅读
  10. hnust 1963: 邻接矩阵表示法

    2024-07-12 07:18:04       23 阅读
  11. 在Linux系统,高效管理Python数据采集程序!

    2024-07-12 07:18:04       29 阅读