Kafka精选面试题

1. 如何保证幂等性?

幂等性其实是消息的一致性, 生产和消费都只有一次, 所以分为生产者幂等性和消费者幂等性.

实际开发过程中, 一般只会保证消费幂等性, 所以面试时直接回答消费幂等就行
做法就是做唯一id, 在消费端做个判断,如果唯一id已存在则不做消费处理, 这个唯一id一般会借用数据库的唯一性

2. kafka为什么这么快?

一、磁盘顺序读写
二、Page Cache

Kafka利用了操作系统本身的Page Cache,就是利用操作系统自身的内存而不是JVM空间内存
三、零拷贝
四、分区分段+索引

Kafka的message是按topic分类存储的,topic中的数据又是按照一个一个的partition即分区存储到不同broker节点。每个partition对应了操作系统上的一个文件夹,partition实际上又是按照segment分段存储的。这也非常符合分布式系统分区分桶的设计思想。
五、批量读写
六、批量压缩

相关推荐
綝~6 小时前
爬虫数据采集工程师岗位面试题
爬虫·面试·请求
heimeiyingwang9 小时前
【架构实战】分布式事务Saga模式:长事务的优雅解决方案
分布式·架构
XWalnut9 小时前
Zookeeper入门
分布式·zookeeper
乐观的山里娃10 小时前
【反八股 01】HashMap 的设计参数是怎么来的
面试
水木流年追梦10 小时前
大模型入门-大模型优化方法12-YaRN 长文本外推技术
人工智能·分布式·算法·正则表达式·prompt
嵌入式ZYXC11 小时前
第3篇:《面试题:I2C为什么要加上拉电阻?阻值怎么选?》
stm32·单片机·嵌入式硬件·面试·职场和发展
sbjdhjd11 小时前
面试(5)| 3.5 小时面试复盘第五弹:加班出差 + 客户响应 + 压力面全拆解
经验分享·程序人生·面试·职场和发展·开源·跳槽·求职招聘
AI人工智能+电脑小能手12 小时前
【大白话说Java面试题 第102题】【并发篇】第2题:volatile 能否保证线程安全?
java·安全·面试
Algorithm_Engineer_13 小时前
如何利用Pycharm进行分布式的Debug训练
ide·分布式·pycharm
Patrick_Wilson13 小时前
Git Worktree 原理详解:从 objects / refs 看懂多分支并行与多 Agent 协作
git·面试·ai编程