首页 > 其他分享 >2020年,kafka面试题总结。

2020年,kafka面试题总结。

时间:2022-10-29 12:38:41浏览次数:51  
标签:面试题 magic Zookeeper Kafka API 2020 消息 Apache kafka


总结的都是最常见问到的问题:

问题1:什么是Apache Kafka?

答:Apache Kafka是一个发布 - 订阅开源消息代理应用程序。这个消息传递应用程序是用“scala”编码的。基本上,这个项目是由Apache软件启动的。Kafka的设计模式主要基于事务日志设计。

问题2:Kafka中有哪几个组件?

答:Kafka最重要的元素是:

主题:Kafka主题是一堆或一组消息。

生产者:在Kafka,生产者发布通信以及向Kafka主题发布消息。

消费者:Kafka消费者订阅了一个主题,并且还从主题中读取和处理消息。

经纪人:在管理主题中的消息存储时,我们使用Kafka Brokers。

问题3:解释偏移的作用。

答:给分区中的消息提供了一个顺序ID号,我们称之为偏移量。因此,为了唯一地识别分区中的每条消息,我们使用这些偏移量。

问题5:ZooKeeper在Kafka中的作用是什么?

答:Apache Kafka是一个使用Zookeeper构建的分布式系统。虽然,Zookeeper的主要作用是在集群中的不同节点之间建立协调。但是,如果任何节点失败,我们还使用Zookeeper从先前提交的偏移量中恢复,因为它做周期性提交偏移量工作。

问题6:没有ZooKeeper可以使用Kafka吗?

答:绕过Zookeeper并直接连接到Kafka服务器是不可能的,所以答案是否定的。如果以某种方式,使ZooKeeper关闭,则无法为任何客户端请求提供服务。

问题8:为什么Kafka技术很重要?

答:Kafka有一些优点,因此使用起来很重要:

高吞吐量:我们在Kafka中不需要任何大型硬件,因为它能够处理高速和大容量数据。此外,它还可以支持每秒数千条消息的消息吞吐量。

低延迟:Kafka可以轻松处理这些消息,具有毫秒级的极低延迟,这是大多数新用例所要求的。

容错:Kafka能够抵抗集群中的节点/机器故障。

耐久性:由于Kafka支持消息复制,因此消息永远不会丢失。这是耐久性背后的原因之一。

可扩展性:卡夫卡可以扩展,而不需要通过添加额外的节点而在运行中造成任何停机。

问题9:Kafka的主要API有哪些?

答:Apache Kafka有4个主要API:

生产者API

消费者API

流 API

连接器API

问题 13.kafka的message格式是什么样的

一个Kafka的Message由一个固定长度的header和一个变长的消息体body组成

header部分由一个字节的magic(文件格式)和四个字节的CRC32(用于判断body消息体是否正常)构成。

当magic的值为1的时候,会在magic和crc32之间多一个字节的数据:attributes(保存一些相关属性,

比如是否压缩、压缩格式等等);如果magic的值为0,那么不存在attributes属性

body是由N个字节构成的一个消息体,包含了具体的key/value消息。

标签:面试题,magic,Zookeeper,Kafka,API,2020,消息,Apache,kafka
From: https://blog.51cto.com/51souta/5806011

相关文章

  • 软件测试面试题小享1
    1、使用Shell命令,从example.log日志文件中,统计最后100行内,包含"test"字符串的行数第一题答案:tail-n100example.log|grep"test"|wc-l  2、使用任意语言,递归......
  • 前端react面试题总结
    为什么调用setState而不是直接改变state?解答如果您尝试直接改变组件的状态,React将无法得知它需要重新渲染组件。通过使用setState()方法,React可以更新组件的UI。另......
  • 10道Python面试题
    1、Python里面如何拷贝一个对象?(赋值,浅拷贝,深拷贝的区别)答:赋值(=),就是创建了对象的一个新的引用,修改其中任意一个变量都会影响到另一个。浅拷贝:创建一个新的对象,但它包......
  • 常见的MySQL面试题有哪些?
    本文主要介绍我在公司招聘的时候,主要问应聘者的一些问题,希望对换工作的同行及在使用过程中有些疑问的同行有所帮助1. MySQL海量数据优化优化问题主要从SQL优化、事务级别调......
  • [NOI Online 2020 #2 提高 B] 子序列问题 (dp+线段树)
    真的是事后诸葛亮,一下考场就知道怎么做了,现在把题解补回来看到这个问题,我第一下想到的就是\(dp\)。如何\(dp\)?设\(dp[i]\)为以\(i\)为右端点的所有子串的答案之和......
  • flume往kafka中导入数据
    1、编辑flume的配置文件a1.sources=r1a1.channels=c1#Describe/configurethesourcea1.sources.r1.type=taildira1.sources.r1.filegroups=f1a1.sources.......
  • 经典数据库面试题
      题目和答案来源:https://www.cnblogs.com/pythonxiaohu/p/5749864.html3、查询平均成绩大于60分的同学的学号和平均成绩;思路:根据学生分组,使用avg获取平均值,通过havin......
  • Kafka Consumer细节
    pollIO模型与内部线程Consumer消费多个来自多个Topic的多个分区的数据,在新版本中,它使用类似select、epoll这种IO模型来达到用一个线程管理多个来源的数据的功能。不过,Co......
  • 一面高频vue面试题
    组件通信组件通信的方式如下:(1)props/$emit父组件通过props向子组件传递数据,子组件通过$emit和父组件通信1.父组件向子组件传值props只能是父组件向子组件进行......
  • 网络-高频面试题-2
    文章目录​​DNS域名解析器​​​​APR地址转换协议​​​​一次完整的HTTP请求过程:​​​​当前读,快照读和MVCC的关系​​​​数据库并发场景有三种,分别为:​​​​MVCC带......