程序员:我就在简历上写了熟悉kafka,结果面试官就逮着问,硬问

别再到处找模板了!手把手教你用Vue3+Element Plus搭建一个‘能跑起来’的管理后台原型 本文详细介绍了如何利用Vue3和Element Plus在72小时内快速搭建一个功能完整的管理后台原型。从环境准备到项目获取、依赖安装、原型定制、数据模拟以及构建优化,手把手教你打造一个可直接演示的后台系统,特别适合创业者快速验证产品逻辑。 阅读详情

霸哥:怎么了?看起来心情不太好的亚子?

程序员:昨天去面试,被一个面试官怼了

霸哥:还有这种事?

程序员:是啊,我也没想到,我都以为面试一切顺利了,结果二面的时候被那个面试官逮了!

霸哥:怎么回事啊?

程序员:我之前做简历的时候,为了让技能这一块丰富好看点,写有Java基础扎实、会用JVM啥的、了解分布式、Zookeeper注册中心,也就加了一个熟悉kafka,然后,面试官就逮着kafka问

霸哥:你熟悉的话,应该就没什么问题啊?

程序员:我写的是熟悉,不是精通,问一些概念原理我都答了,接下来就是Kafka 数据存储设计、生产者设计、消费者设计,一通问,唉~


下面霸哥就来跟大家分享一下有关于kafka的核心技术知识,掌握了这些,是熟悉,还是精通,你们说了算!

注意:以下内容摘自一份283页的pdf,《Java核心技术点》↓

需要的朋友麻烦帮忙转发文章,宣传一下,后台私信【面试】免费领取!

等等...

Kafka 概念

Kafka 是一种高吞吐量、分布式、基于发布/订阅的消息系统,最初由 LinkedIn 公司开发,使用Scala 语言编写,目前是 Apache 的开源项目。

1. broker:Kafka 服务器,负责消息存储和转发;

2. topic:消息类别,Kafka 按照 topic 来分类消息;

3. partition:topic 的分区,一个 topic 可以包含多个 partition,topic 消息保存在各个partition 上;

4. offset:消息在日志中的位置,可以理解是消息在 partition 上的偏移量,也是代表该消息的唯一序号;

5. Producer:消息生产者;

6. Consumer:消息消费者;

7. Consumer Group:消费者分组,每个 Consumer 必须属于一个 group;

8. Zookeeper:保存着集群 broker、topic、partition 等 meta 数据;另外,还负责 broker 故障发现,partition leader 选举,负载均衡等功能;

Kafka 数据存储设计

1、partition 的数据文件(offset,MessageSize,data)

partition 中的每条 Message 包含了以下三个属性:offset,MessageSize,data,其中 offset 表示 Message 在这个 partition 中的偏移量,offset 不是该 Message 在 partition 数据文件中的实际存储位置,而是逻辑上一个值,它唯一确定了 partition 中的一条 Message,可以认为 offset 是partition 中 Message 的 id;MessageSize 表示消息内容 data 的大小;data 为 Message 的具体内容。

2、数据文件分段 segment(顺序读写、分段命令、二分查找)

partition 物理上由多个 segment 文件组成,每个 segment 大小相等,顺序读写。每个 segment数据文件以该段中最小的 offset 命名,文件扩展名为.log。这样在查找指定 offset 的 Message 的时候,用二分查找就可以定位到该 Message 在哪个 segment 数据文件中。

3、数据文件索引(分段索引、稀疏存储)

Kafka 为每个分段后的数据文件建立了索引文件,文件名与数据文件的名字是一样的,只是文件扩展名为.index。index 文件中并没有为数据文件中的每条 Message 建立索引,而是采用了稀疏存储的方式,每隔一定字节的数据建立一条索引。这样避免了索引文件占用过多的空间,从而可以将索引文件保留在内存中。

生产者设计

1、负载均衡(partition 会均衡分布到不同 broker 上)

由于消息 topic 由多个 partition 组成,且 partition 会均衡分布到不同 broker 上,因此,为了有效利用 broker 集群的性能,提高消息的吞吐量,producer 可以通过随机或者 hash 等方式,将消息平均发送到多个 partition 上,以实现负载均衡。

2、批量发送

是提高消息吞吐量重要的方式,Producer 端可以在内存中合并多条消息后,以一次请求的方式发送了批量的消息给 broker,从而大大减少 broker 存储消息的 IO 操作次数。但也一定程度上影响了消息的实时性,相当于以时延代价,换取更好的吞吐量。

3、压缩(GZIP 或 Snappy)

Producer 端可以通过 GZIP 或 Snappy 格式对消息集合进行压缩。Producer 端进行压缩之后,在Consumer 端需进行解压。压缩的好处就是减少传输的数据量,减轻对网络传输的压力,在对大数据处理上,瓶颈往往体现在网络上而不是 CPU(压缩和解压会耗掉部分 CPU 资源)。

消费者设计

Consumer Group

同一 Consumer Group 中的多个 Consumer 实例,不同时消费同一个 partition,等效于队列模式。partition 内消息是有序的,Consumer 通过 pull 方式消费消息。Kafka 不删除已消费的消息对于 partition,顺序读写磁盘数据,以时间复杂度 O(1)方式提供消息持久化能力。

更多内容

多线程并发系列

Spring原理系列

微服务系列

等等,内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Memcached、Redis、MySQL、Spring、Spring Boot、Spring Cloud、RabbitMQ、Kafka、Linux、并发编程、微服务等技术栈。

需要的朋友可以帮忙转发一下文章,后台私信【面试】免费领取!

感谢阅读,关注、转发、评论将是对霸哥最大的支持!也是霸哥分享更多干货的动力!>_<

Vue - 超强实现网页禁止浏览器缩放功能,浏览器缩放时保持网页不变形、元素不会被挤压等,屏蔽浏览器鼠标滚轮缩放页面(提供详细示例代码,一次引入整个网站无人可以搞乱你的页面布局及样式) vue,nuxt,禁止浏览器缩放,如何用户缩放浏览器导致页面变形,网页缩放后页面变形了怎么办,怎么解决网站被缩放后元素乱套错乱,vue怎么禁止网页不被缩放,vue如何禁止浏览器缩放,vue缩放网页变形影响布局怎么办,vue电脑分辨率及缩放导致页面变形的问题,前端页面解决浏览器或者系统被放大和缩小导致的显示问题,Vue中页面自适应缩放,如何防止Vue页面缩放时变形/调整大小,Vue项目中,防止页面被缩放和放大,vue等比例缩放网页,网页缩放后界面变形咋办,禁止页面缩放,vue禁止浏览器改变窗口大小,Vue项目 阅读详情

相关推荐

comfyui从入门到精通二:提示词规则详解

《AI绘画提示词使用全指南》摘要: 本文系统解析AI绘画提示词的核心规则与实用技巧。关键点包括:1) 空格与下划线的本质差异,webui会自动转换但comfyui保留原格式;2) 数字与单词表达(如1girl/one girl)会导致风格变化;3) 三种权重控制方式(数值标注、括号嵌套、位置效应),其中数值标注最直观有效;4) 位置衰减公式揭示提示词排序对效果的影响权重。同时指出当前AI绘画仍存在角色一致性等更复杂的技术瓶颈。全文通过多组对比实验,为创作者提供从基础语法到高阶控制的完整解决方案。

ScottePerk的博客 1934

kafka简介

大白话 kafka 架构原理 大数据时代来临,如果你还不知道Kafka那就真的out了!据统计,有三分之一的世界财富500强企业正在使用Kafka,包括所有TOP10旅游公司,7家TOP10银行,8家TOP10保险公司,9家TOP10电信公司等等。LinkedIn、Microsoft和Netflix每天都用Kafka处理万亿级的信息。本文就让我们一起来大白话kafka的架构原理。 kafka官网:http://kafka.apache.org/ 01 PART kafka简介 Kafka最.

m0_37978874的博客 957

odoo19/18集成reportbro 打印插件 完美支持静默打印

ReportBro设计器 一个用于创建PDF和XLSX报告模板的javascript插件。ReportBro Designer可以轻松集成到您的Web应用程序中。每个人都可以设计和编辑文档模板,并直接在浏览器中预览它们。可以使用服务器上的 (有关完整的文档和演示,请参阅上的ReportBro项目网站。reportBro官方没有提供。测试环境:odoo17社区版。2.产品标签打印设计。

zxltwins的博客 2772

简历写了会Kafka,面试官90%会让你讲讲acks参数对消息持久化的影响

目录(0)写在前面(1)如何保证宕机时数据不丢失?(2)多副本冗余的高可用机制(3)多副本之间数据如何同步?(4)ISR到底指的什么东西?(5)acks参数的含义?(6)最后的思考个人公众号:石杉的架构笔记(ID:shishan100)(0)写在前面 面试大厂时,一旦简历上写了Kafka,几乎必然会被问到一个问题:说说acks参数对消息持久化的影响?这个acks参数在kafka的使用中,是非常核心...

weixin_33727510的博客 2643

SpringBoot Redis入门(一)——redis、Lettuce、Redisson使用

Lettuce是SpringBoot自带的Redis客户端,性能比Redis要好, 是线程安全的,支持同步编程,异步编程,响应式编程,自动重新连接,主从模式,集群模块,哨兵模式Redisson 是一个在 Redis 的功能基础上实现的 Java 驻内存数据网格客户端。实现了分布式和可扩展的 Java 数据结构,提供很多分布式相关操作服务,例如分布式锁,分布式集合,可通过 Redis 支持延迟队列。

朗朗的博客 3833

EG800K 4G模块AT指令避坑指南:让你的STM32物联网项目稳定连接云端

本文详细解析了EG800K 4G模块在STM32物联网项目中的AT指令应用避坑指南,涵盖从底层协议到云端稳定的全链路优化策略。通过实战案例和防护机制,帮助开发者解决常见通信陷阱,提升云端通信的稳定性和效率。

weixin_26834815的博客 288

面试如何介绍Kafka

消息队列系统:Kafka 是一种用于分布式系统中处理和传输消息的开源平台。 分布式架构:它的分布式架构允许集群扩展,提供了容错和高可用性。 主题和分区:Kafka 中的主题将消息分类,分区实现了并行处理和负载均衡。 消息传递模式:支持点对点和发布/订阅模式,使不同的应用程序可以灵活地消费消息。 高性能与可靠性:Kafka 具有高吞吐量和低延迟的特点,同时保证消息的可靠传递。 应用场景:常用于大数据处理、日志收集、实时监测等领域。 配置与管理:了解 Kafka 的配置参数和管理工具,展示对系统的掌

终身做学习,并予以实践 753

YOLO26涨点改进 | 损失函数改进篇 | 引入SlideLoss,适配尺度变化+遮挡+难易样本不平衡,手把手配置+实战案例

COCO-Hard是COCO数据集的复杂场景子集,包含80个类别,重点筛选多尺度、遮挡密集样本,其中小尺度目标(<32×32像素)占比42%,大尺度目标(>128×128像素)占比28%,遮挡目标占比57%,场景涵盖人群密集、车流拥堵、复杂工业环境,完美模拟真实复杂检测场景,适合验证SlideLoss的适配性。

qq_36130719的博客 157

程序员如何写简历(附模板)

背景 对于一个程序员来说,简历很重要。我身边就有这么一个例子。 朋友A和朋友B,都投了一家公司的岗位。 友A简历被拒,用人的项目组认为简历与岗位不匹配。 友B简历经过我修改之后,不但简历过了,还顺利的通过了一二三四轮面试,最终拿到offer,顺利入职。 HR事后表示,“这个应聘者(友B)太合适了。” 然而两个朋友经验相同,都是同一家公司,同一个部门跳出来的。甚至友A在技术方面比友B更加深入。 ...

紫眸的博客 6815

瑞芯微RK3588平台YOLOv8Pose模型RKNN部署与C++优化实战:从模型转换到高效推理的全流程指南-附源码

错误码 | 原因 | 解决方案 || -1001 | ONNX算子不支持 | 升级RKNN SDK至最新版 || -2003 | 量化校准数据不足 | 增加校准图片至500张 || -3005 | 输入尺寸不匹配 | 固定模型输入尺寸为640x640 || 资源消耗 | CPU 35% | NPU 90% |

m0_64661770的博客 990

在 PFCG 中完成 SAP Fiori 对象分配:把 Business Catalog、Space、Page 与授权一次讲透

摘要:SAP Fiori权限配置的关键在于理解Business Catalog与Space的分层授权逻辑。传统SAP GUI中直接分配事务码的方式不适用于Fiori环境,必须通过PFCG为角色分配Catalog(提供应用访问权限)和Space(控制首页展示结构)。Catalog会自动解析所需OData服务授权,而Space则决定用户在Launchpad中看到的导航布局。常见错误包括直接分配Page而非其所属Space,或仅配置Space而忽略Catalog。最佳实践是优先使用Catalog驱动授权提议,再在

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 327

用一份JAVA工程师的求职简历来说说求职简历怎么写

这是一篇我比较想看到的简历指导的文章。 但是我比较反对简历造假。我觉得会什么写什么把。 Java就业指导   想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,面试者在面试之前到底需要准备哪些东西呢?本文陈列的这些内容既可以作为个人简历中的内容,也可以作为面试的时候跟面试官聊的东西,你可以把这些内容写到你的简历中,当然更需要的是你在面试的时候向面试官展示这些专业技能。相信此文...

Angus 4万+

RT-DETR算法优化改进:Backbone改进 | HGBlock完美结合PPHGNetV2 GhostConv

GhostConv助力RT-DETR ,HGBlock与PPHGNetV2 GhostConv完美结合

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 2910

怎么写出让面试官眼前一亮的 Java 开发简历

找工作时,简历是程序员面试的第一道关。HR 每天要过几百上千份简历,你的简历能不能在几秒内被记住,直接决定了有没有后续机会。 其实程序员的简历不用花里胡哨,简约的模板、黑白的配色就好,关键是内容要突出亮点。下面从几个核心部分说说怎么写,帮你抓住面试官的注意力。

jobleap.cn求职助手首页 1229

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

师兄面试遇到面试官的 Kafka 暴击三连问,快面哭了!

其实在今天的很多大厂面试里,都会要求能够熟练运用Apache Kafka等至少一种消息队列,Apache Kafka也是我们面试里的常客。在大多数人的印象中,写磁盘都是比较慢的,可是,为什么Apache Kafka在各大MQ性能的评测中,还能够击败众多对手,取得不错的成绩呢?通过师兄遇到的关于 Kafka 问题的暴击三连问 ,让我们一起走进师兄受伤的心

云祁QI 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

面试官:看你简历写了熟悉Kafka,它为什么速度会这么快?

前言 Kafka的消息是保存或缓存在磁盘上的,一般认为在磁盘上读写数据是会降低性能的,因为寻址会比较消耗时间,但是实际上,Kafka的特性之一就是高吞吐率。 即使是普通的服务器,Kafka也可以轻松支持每秒百万级的写入请求,超过了大部分的消息中间件,这种特性也使得Kafka在日志处理等海量数据场景广泛应用。 针对Kafka的基准测试可以参考,Apache Kafka基准测试:每秒写入2百万(在三台...

weixin_33922672的博客 677

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

面试官:Kafka是什么,它有什么特性与使用场景?

面试官:Kafka是什么,它有什么特性与使用场景?

真正的大师永远怀着一颗学徒的心 7390

简历,这样写?

编写简历的过程实际上就是回顾自己所掌握知识的过程 对于开发程序员而言,简历最主要由三部分组成 个人简介 项目系统 专业技能 项目系统 项目系统需要回顾自己以前做了什么项目,挑自己熟悉的放在简历的前面 1、梳理系统的项目背景以及整个系统架构设计与运转流程 这个过程主要是大体回顾自己的项目。无论是哪场面试,只要问到项目,面试官总会提问:"要不你先来简单介绍下你所负责的这个项目吧" 这个答案实际上就是聊「梳理系统的项目背景以及整个系统架构设计与运转流程」 这点很重要,需要

weixin_54091877的博客 753

面试官问我如何保证Kafka不丢失消息?我哭了!

kafka如何保证不丢消息 ps:这篇文章自我感觉说的很大白话了!希望你们看过了之后能有收获。 不了解 Kafka 的朋友建议先看一看我的下面这几篇文章,第一篇一定要看,其他的可以按需学习。 入门篇!大白话带你认识 Kafka! 5分钟带你体验一把 Kafka Kafka系列第三篇!10 分钟学会如何在 Spring Boot 程序中使用 Kafka 作为消息队列? 生产者丢失消息的情况 生产...

JavaGuide 9582

大厂面试官竟然这么爱问Kafka,一连八个Kafka问题把我问蒙了?

本文首发于公众号:五分钟学大数据 在面试的时候,发现很多面试官特别爱问Kafka相关的问题,这也不难理解,谁让Kafka是大数据领域中消息队列的唯一王者,单机十万级别的吞吐量,毫秒级别的延迟,这种天生的分布式消息队列,谁能不爱? 在最近的一场面试中,有个面试官看到简历中的项目上写Kafka了,就直接开问Kafka,其他问题基本没问。下面来看下面试官的Kafka八连问: (以下答案是参考网上资料整理而成,实际面试时只回答了大约三分之一) 1. 为什么要使用 kafka? 缓冲和削峰:上游数据时有突发流量,

yuan_more的博客 1026

工作不好找,简历该怎么写?

哈喽,大家下午好!历时 3个月,投过上百份简历,收到的面试邀约却只有个位数,自己郁闷得快不行。这是前两天,一位工作了 4年的 Java小伙伴向我阐述的情况。本以为是互联网寒冬,很多公司都在裁员,僧多粥少,看过他的简历后才明白这其中的原因。作为面试官,这些年筛选过不少的技术简历,或多或少发现了不少的共性问题,这里总结成 3点,今天一起分享给你。

jjc4261的博客 823
上一篇: Java大厂高级面试题灵魂100问,面试官突击一问
下一篇: 为什么数据库不应该使用外键
Javaesandyou
博客等级 码龄5年 742粉丝 563原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值