前言
大家好,我是
manor
。相信大家和我一样,都有一个大厂梦,作为一名大数据专业学生、爱好者,深知面试重要性,很多学生已经进入暑假模式,暑假也不能懈怠,正值金九银十
的秋招 接下来我准备用30天
时间,基于大数据开发岗面试中的高频面试题,以每日5题的形式,带你过一遍热门面试题及恰如其分的解答。 相信只要一路走来,日积月累,我们终会在最高处见。 以古人的话共勉:道阻且长,行则将至;行而不辍,未来可期!
本栏目大数据开发岗高频面试题主要出自
大数据技术
专栏的各个小专栏,由于个别笔记上传太早,排版杂乱,后面会进行原文美化、增加。
文章目录
- 前言
- 面试题 01 Kafka中消费者与消费者组的关系是什么?
- 面试题02、Kafka中Topic和Partition是什么,如何保证Partition数据安全?
- 面试题 03 Kafka中的Segment是什么?
- 面试题04、Kafka中的Offset是什么?
- 面试题05、请简述如何使用Kafka Simple Java API 实现数据生产?描述具体的类及方法
- 总结
面试题 01 Kafka中消费者与消费者组的关系是什么?
•消费者组负责订阅Topic
,消费者负责消费Topic分区的数据
•消费者组中可以包含多个消费者,多个消费者共同消费数据,增加消费并行度,提高消费性能
•消费者组的id由开发者指定,消费者的id由Kafka自动分配
面试题02、Kafka中Topic和Partition是什么,如何保证Partition数据安全?
•Topic
:逻辑上实现数据存储的分类,类似于数据库中的表概念
•Partition
:Topic中用于实现分布式存储的物理单元,一个Topic可以有多个分区
–每个分区可以存储在不同的节点,实现分布式存储
•保证数据安全通过副本机制
:Kafka中每个分区可以构建多个副本【副本个数 <= 机器的个数】
–将一个分区的多个副本分为两种角色
–leader副本
:负责对外提供读写请求
–follower副本
:负责与leader同步数据,如果leader故障,follower要重新选举一个成为leader
•选举
:由Kafka Crontroller来决定谁是leader
面试题 03 Kafka中的Segment是什么?
•Segment是对分区内部
的数据进行更细的划分,分区段,文件段
•规则
:按照文件产生的时间或者大小
•目的
:提高写入和查询性能
–文件名称可以用于检索数据:用offset命名的
•组成
:每个Segment由两个文件组成
–.log:存储的数据
–.index:对应.log文件的索引信息
面试题04、Kafka中的Offset是什么?
•Offset是kafka中存储数据时给每个数据做的标记或者编号
•分区级别的编号,每个分区从0开始
编号
•功能
:消费者根据offset来进行消费,保证顺序消费以及消费数据的一次性语义
面试题05、请简述如何使用Kafka Simple Java API 实现数据生产?描述具体的类及方法
•step1:构建生产者连接对象:KafkaProducer
–需要配置对象:管理配置,例如连接地址:Properties
•step2:KafkaProducer:send:生产数据到Kafka中
–需要构建一个生产的数据对象:ProducerRecord
–ProducerRecord(Topic,Value)
–ProducerRecord(Topic,Key,Value)
–ProducerRecord(Topic,Partition,Key,Value)
总结
今天我们复习了面试中常考的Kakfa相关的五个问题,你做到心中有数了么?