大数据开发岗大厂面试30天冲刺 - 日积月累,每日五题【Day04】——Kafka2

2021-12-07 11:52:04 浏览数 (1)

前言

大家好,我是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相关的五个问题,你做到心中有数了么?

0 人点赞