首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
蛋壳r
中央财经大学 产品经理
发布于北京
关注
已关注
取消关注
@麒麟Java工程师:
2022年Java秋招面试必看的 | kafka面试题
前言 Kafka 是一个分布式的、发布-订阅式消息中间件。最初是由 Linkedin 领英公司基于 Scala 和 Java 语言开发的分布式消息系统,现已捐献给 Apache 软件基金会。事实上 Kafka 不仅仅是一个消息队列(MQ),其已然成为一个开源的分布式流处理平台。Kafka 具有高吞吐、低延迟的特性,许多大数据处理系统比如 Storm、Spark、Flink 等都能很好地与之集成。 小编分享的这份2022年Java秋招备战面试题总计有1000多道面试题,包含了MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Java 并发编程、Java基础、Spring、微服务、Linux、Spring Boot 、Spring Cloud、RabbitMQ、kafka等16个专题技术点,都是小编在今年金三银四总结出来的面试真题,已经有很多粉丝靠这份PDF拿下众多大厂的offer,今天在这里总结分享给到大家! 1、如何获取topic主题的列表 bin/kafka-topics.sh --list --zookeeper localhost:2181 2、生产者和消费者的命令行是什么? 3、consumer是推还是拉? Kafka 最初考虑的问题是,customer 应该从 brokes 拉取消息还是 brokers 将消息推送到 consumer,也就是 pull 还 push。在这方面,Kafka 遵循了一种大部分消息系统共同的传统的设计:producer 将消息推送到 broker,consumer 从broker 拉取消息。 一些消息系统比如 Scribe 和 Apache Flume 采用了 push 模式,将消息推送到下游的 consumer。这样做有好处也有坏处:由 broker 决定消息推送的速率,对于不同消费速率的 consumer 就不太好处理了。消息系统都致力于让 consumer 以最大的速率最快速的消费消息,但不幸的是,push 模式下,当 broker 推送的速率远大于 consumer 消费的速率时,consumer 恐怕就要崩溃了。最终 Kafka 还是选取了传统的 pull 模式。 Pull 模式的另外一个好处是 consumer 可以自主决定是否批量的从 broker 拉取数据。Push 模式必须在不知道下游 consumer 消费能力和消费策略的情况下决定是立即推送每条消息还是缓存之后批量推送。如果为了避免 consumer 崩溃而采用较低的推送速率,将可能导致一次只推送较少的消息而造成浪费。Pull 模式下,consumer 就可以根据自己的消费能力去决定这些策略。 Pull 有个缺点是,如果 broker 没有可供消费的消息,将导致 consumer 不断在循环中轮询,直到新消息到 t 达。为了避免这点,Kafka 有个参数可以让 consumer阻塞知道新消息到达(当然也可以阻塞知道消息的数量达到某个特定的量这样就可以批量发送)。 4、讲讲kafka维护消费状态跟踪的方法 5、讲一下主从同步 6、为什么需要消息系统,mysql不能满足需求吗? 1.解耦: 允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。 2.冗余: 消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险。许多消息队列所采用的”插入-获取-删除”范式中,在把一个消息从队列中删除之前,需要你的处理系统明确的指出该消息已经被处理完毕,从而确保你的数据被安全的保存直到你使用完毕。 3.扩展性: 因为消息队列解耦了你的处理过程,所以增大消息入队和处理的频率是很容易的,只要另外增加处理过程即可。 4.灵活性 & 峰值处理能力: 在访问量剧增的情况下,应用仍然需要继续发挥作用,但是这样的突发流量并不常见。如果为以能处理这类峰值访问为标准来投入资源随时待命无疑是巨大的浪费。使用消息队列能够使关键组件顶住突发的访问压力,而不会因为突发的超负荷的请求而完全崩溃。 5.可恢复性: 系统的一部分组件失效时,不会影响到整个系统。消息队列降低了进程间的耦合度,所以即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统恢复后被处理。 6.顺序保证: 在大多使用场景下,数据处理的顺序都很重要。大部分消息队列本来就是排序的,并且能保证数据会按照特定的顺序来处理。(Kafka 保证一个 Partition 内的消息的有序性) 7.缓冲: 有助于控制和优化数据流经过系统的速度,解决生产消息和消费消息的处理速度不一致的情况。 8.异步通信: 很多时候,用户不想也不需要立即处理消息。消息队列提供了异步处理机制,允许用户把一个消息放入队列,但并不立即处理它。想向队列中放入多少消息就放多少,然后在需要的时候再去处理它们。 7、Zookeeper对于Kafka的作用是什么? 8、数据传输的事务定义有哪三种? 9、Kafka判断一个节点是否还活着有那两个条件? 10、Kafka 与传统MQ消息系统之间有三个关键区别 11、讲一讲kafka的ack的三种机制 12、消费者如何不自动提交偏移量,由应用提交? 将 auto.commit.offset 设为 false,然后在处理一批消息后 commitSync() 或者异步提交 commitAsync() 即: ConsumerRecords<> records = consumer.poll();for (ConsumerRecord<> record : records){。。。tyr{consumer.commitSync()}。。。} 13、消费者故障,出现活锁问题如何解决? 出现“活锁”的情况,是它持续的发送心跳,但是没有处理。为了预防消费者在这种情况下一直持有分区,我们使用 max.poll.interval.ms 活跃检测机制。 在此基础上,如果你调用的 poll 的频率大于最大间隔,则客户端将主动地离开组,以 便其他消费者接管该分区。 发生这种情况时,你会看到 offset 提交失败(调用commitSync()引发的 CommitFailedException)。这是一种安全机制,保障只有活动成员能够提交 offset。所以要留在组中,你必须持续调用 poll。 消费者提供两个配置设置来控制 poll 循环: 14、如何控制消费的位置 kafka 使用 seek(TopicPartition, long)指定新的消费位置。用于查找服务器保留的最早和最新的 offset 的特殊的方法也可用(seekToBeginning(Collection) 和seekToEnd(Collection)) 15、kafka分布式(不是单机)的情况下,如何保证消息的顺序消费? 16、kafka的高可用机制是什么? 这个问题比较系统,回答出 kafka 的系统特点,leader 和 follower 的关系,消息读写的顺序即可。 17、kafka如何减少数据丢失 18、kafka如何不消费重复数据?比如扣款,我们不能重复的扣。
点赞 4
评论 1
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
04-29 14:19
门头沟学院 嵌入式软件工程师
牧原嵌入式笔试分享
牧原嵌入式笔试:1.一点c语言2.基本都是单片机3.原码、补码、反码4.无符号数的循环判断5.单片机四种输入输出模式:上拉、下拉、推挽、开漏6.最主要是外设功能7.linux系统的正确说法8.ADC常用哪种模式9.结构体的大小和赋值,struct{int a[0];的大小。10.结构体的赋值:struct{int a[0],int b,int c[O];}s;s s1;s1.a[0]=1,s1.b=2,s1.c[0]=311.keil-9的功能是什么全网最受欢迎的嵌入式笔试专栏笔试专栏包含全部最新的笔试必考考点,4.7w+同学学习,2800+订阅,非常适合在找工作面经薄弱的同学,3000+订阅...
投递牧原集团等公司10个岗位 >
大疆的机械笔试比去年难吗
面试之前应该如何准备?
点赞
评论
收藏
分享
04-27 14:36
复旦大学 硬件开发
实习要不要提前跑路
实习不累,每天准点下班,但是mentor马上离职啊啊啊啊…… 没想到啊 以为心心念念的实习核心业务是一点没有碰,已经打杂一个月了 刚刚得知mt提了离职,更不想继续了 现在有两个选择: 1⃣️先苟着,等下一个替代我mentor职位的正职来了,接触的业务或许就会多些,但是估计会碰见接替的正职并不会那么友善或是业务流不熟练,问我之前是她的实习生 应该怎么弄 可是补药啊 我也不会 2⃣️跑!现在就开始投下家实习,在mentor离职之前抢先一步提离职,但是再次面临租房、吃饭等生活成本压力 现在最主要的纠结点是 5、6月会固定请假一周回学校考试,来回成本压力大,实习生工资少的可怜,还学不到东西
LPeanut:
复旦✌速润,学校项目胜过外面任何公司实习
我和mentor的爱恨情仇
点赞
评论
收藏
分享
04-26 19:17
美团_核心本地商业_后端(实习员工)
以前说的未来就是现在
刘湘_passion:
太强了牛肉哥
有被激励到
点赞
评论
收藏
分享
04-14 20:10
已编辑
门头沟学院 Java
双非佬都拿下了什么类型的大厂
投票
鹅厂二面寄字节二面寄携程、美团、顺丰、哔站等待筛选快手简历过了又挂了?都还没面?百度简历挂
为生活添砖加瓦:
都这么多双非大佬拿了超一线大厂吗
投递快手等公司10个岗位
点赞
评论
收藏
分享
04-27 09:31
浙江科技大学 测试工程师
衡泰科技 内推!!!
杭州衡泰技术股份有限公司是中国领先的定量金融软件和服务供应商,致力于帮助客户“信息中洞察机会,机会中实现价值”。公司总部位于杭州,并于北京、上海、深圳等地设有分部。 自2002年以来,衡泰技术基于自身“技术+分析”(Technology + Analytics)的积累,始终聚焦定量金融软件与服务领域,其产品涉及金融市场的前中后交易处理、资产管理、风险管理、信用分析、定价与投资分析、数据管理与数据服务等领域,新一代产品更是具备跨币种、多资产及直通式处理的能力,全面支持各类现货和衍生品的组合管理与分析。 公司目前团队过千,已为数百家券商、基金、银行、保险、资管、信托等金融机构提供专业的产...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
暑期后端高频问题汇总
7.3W
2
...
左手敲代码的程序员,不配拥有offer吗?
6.0W
3
...
后端简历上最值得写的项目
1.1W
4
...
北京到底有谁在啊?
9695
5
...
五一假期,弯道超车时间表
9264
6
...
五一别写你那破开源代码了
7617
7
...
和ai聊天,忍不住爆哭
6706
8
...
给你看看给大学生开10k的前端面经长啥样
5789
9
...
快手投诉后续- HR把我拉黑了!
5574
10
...
拼多多服务端信息确认
5335
创作者周榜
更多
正在热议
更多
#
找工作,行业重要还是岗位重要?
#
8049次浏览
105人参与
#
五一之后,实习真的很难找吗?
#
46301次浏览
335人参与
#
盲审过后你想做什么?
#
12821次浏览
115人参与
#
领导秒批的请假话术
#
10070次浏览
74人参与
#
小厂实习有必要去吗
#
42253次浏览
260人参与
#
设计人如何选offer
#
98476次浏览
690人参与
#
外包能不能当跳板?
#
22216次浏览
191人参与
#
五一假期,你打算“躺”还是“卷”?
#
31818次浏览
443人参与
#
考研可以缓解求职焦虑吗
#
21330次浏览
252人参与
#
面试等了一周没回复,还有戏吗
#
115738次浏览
1076人参与
#
大疆的机械笔试比去年难吗
#
69675次浏览
603人参与
#
找工作前vs找工作后的心路变化
#
7223次浏览
64人参与
#
如果有时光机,你最想去到哪个年纪?
#
43369次浏览
770人参与
#
硬件人,你被哪些公司给挂了
#
46803次浏览
723人参与
#
写简历别走弯路
#
714646次浏览
7850人参与
#
秋招前后对offer的期望对比
#
271682次浏览
2075人参与
#
应届生薪资多少才合理?
#
3133次浏览
24人参与
#
你喜欢工作还是上学
#
37754次浏览
413人参与
#
每人推荐一个小而美的高薪公司
#
72873次浏览
1357人参与
#
如果不工作真的会快乐吗
#
101316次浏览
868人参与
牛客网
牛客企业服务