Kafka面试题——20道Kafka知识点

简介: 7月9日 19:00-21:30 阿里云开发者社区首场“Offer 5000”直播开启!15位团队技术大牛在线招人,更有《阿里云技术面试红宝书》助你拿下Offer!马上投递简历:https://developer.aliyun.com/special/offerday01

图片无法显
点击图片或戳我查看详情和投简历
本篇给大家总结了20道Kafka知识点或者说面试题,持续更新中...
1.kafka的3个关键功能?
发布和订阅记录流,类似于消息队列或企业消息传递系统。
以容错的持久方式存储记录流。
处理记录流。
2.kafka通常用于两大类应用?
建立实时流数据管道,以可靠地在系统或应用程序之间获取数据
构建实时流应用程序,以转换或响应数据流
3.kafka特性?
消息持久化
高吞吐量
扩展性
多客户端支持
Kafka Streams
安全机制
数据备份
轻量级
消息压缩
4.kafka的5个核心Api?
Producer API
Consumer API
Streams API
Connector API
Admin API
5.什么是Broker(代理)?
Kafka集群中,一个kafka实例被称为一个代理(Broker)节点。
6.什么是Producer(生产者)?
消息的生产者被称为Producer。Producer将消息发送到集群指定的主题中存储,同时也自定义算法决定将消息记录发送到哪个分区?
7.什么是Consumer(消费者)?
消息的消费者,从kafka集群中指定的主题读取消息。
8.什么是Topic(主题)?
主题,kafka通过不同的主题却分不同的业务类型的消息记录。
9.什么是Partition(分区)?
每一个Topic可以有一个或者多个分区(Partition)。
10.什么是副本(Replication)?
每个主题在创建时会要求制定它的副本数(默认1)。
11.什么是记录(Record)?
实际写入到kafka集群并且可以被消费者读取的数据。每条记录包含一个键、值和时间戳。
12.kafka适合哪些场景?
日志收集、消息系统、活动追踪、运营指标、流式处理、时间源等。
13.kafka磁盘选用上?
SSD的性能比普通的磁盘好,这个大家都知道,实际中我们用普通磁盘即可。它使用的方式多是顺序读写操作,一定程度上规避了机械磁盘最大的劣势,即随机读写操作慢,因此SSD的没有太大优势。
14.使用RAID的优势?
提供冗余的磁盘存储空间
提供负载均衡
15.磁盘容量规划需要考虑到几个因素?
新增消息数
消息留存时间
平均消息大小
备份数
是否启用压缩
16.Broker使用单个?多个文件目录路径参数?
log.dirs 多个log.dir 单个
17.一般来说选择哪个参数配置路径?好处?
log.dirs好处:提升读写性能,多块物理磁盘同时读写高吞吐。故障转移。一块磁盘挂了转移到另一个上。
18.自动创建主题的相关参数是?
auto.create.topics.enable
19.解决kafka消息丢失问题?
不要使用 producer.send(msg),而要使用 producer.send(msg, callback)。
设置 acks = all。
设置 retries 为一个较大的值。
设置 unclean.leader.election.enable = false。
设置 replication.factor >= 3。
设置 min.insync.replicas > 1。
确保 replication.factor > min.insync.replicas。
确保消息消费完成再提交。
20.kafka消息重复问题?
做好幂等。数据库方面可以(唯一键和主键)避免重复。在业务上做控制。
本文来源于:奈学开发者社区

相关文章
|
26天前
|
消息中间件 存储 负载均衡
Kafka面试题及答案
Kafka面试题及答案
|
15天前
|
消息中间件 算法 Java
面试官:Kafka中的key有什么用?
面试官:Kafka中的key有什么用?
28 3
面试官:Kafka中的key有什么用?
|
1月前
|
消息中间件 存储 Java
Android面试高频知识点(2) 详解Android消息处理机制(Handler)
Android 消息处理机制估计都被写烂了,但是依然还是要写一下,因为Android应用程序是通过消息来驱动的,Android某种意义上也可以说成是一个以消息驱动的系统,UI、事件、生命周期都和消息处理机制息息相关,并且消息处理机制在整个Android知识体系中也是尤其重要,在太多的源码分析的文章讲得比较繁琐,很多人对整个消息处理机制依然是懵懵懂懂,这篇文章通过一些问答的模式结合Android主线程(UI线程)的工作原理来讲解,源码注释很全,还有结合流程图,如果你对Android 消息处理机制还不是很理解,我相信只要你静下心来耐心的看,肯定会有不少的收获的。
91 3
Android面试高频知识点(2) 详解Android消息处理机制(Handler)
|
1月前
|
Android开发
Android面试高频知识点(1) 图解 Android 事件分发机制
在Android开发中,事件分发机制是一块Android比较重要的知识体系,了解并熟悉整套的分发机制有助于更好的分析各种点击滑动失效问题,更好去扩展控件的事件功能和开发自定义控件,同时事件分发机制也是Android面试必问考点之一,如果你能把下面的一些事件分发图当场画出来肯定加分不少。废话不多说,总结一句:事件分发机制很重要。
92 9
|
1月前
|
XML 前端开发 Android开发
Android面试高频知识点(3) 详解Android View的绘制流程
View的绘制和事件处理是两个重要的主题,上一篇《图解 Android事件分发机制》已经把事件的分发机制讲得比较详细了,这一篇是针对View的绘制,View的绘制如果你有所了解,基本分为measure、layout、draw 过程,其中比较难理解就是measure过程,所以本篇文章大幅笔地分析measure过程,相对讲得比较详细,文章也比较长,如果你对View的绘制还不是很懂,对measure过程掌握得不是很深刻,那么耐心点,看完这篇文章,相信你会有所收获的。
65 2
|
2月前
|
消息中间件 Kafka
面试题Kafka问题之Kafka【线上】积压消费如何解决
面试题Kafka问题之Kafka【线上】积压消费如何解决
20 0
|
2月前
|
消息中间件 算法 NoSQL
面试题Kafka问题之Kafka保证系统的可用性如何解决
面试题Kafka问题之Kafka保证系统的可用性如何解决
32 0
|
2月前
|
消息中间件 Kafka 数据库
面试题Kafka问题之查看偏移量为23的消息如何解决
面试题Kafka问题之查看偏移量为23的消息如何解决
24 0
|
22天前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。