试惨败MQ?献上消息中间件解析合集:MQ+Kafka,助你吊打面试官!

「架构师教程」二十年架构师「马士兵」大牛的Java高级架构师教程 达到 年入百万的P7 Java高级架构师级别,不仅要具备 优秀的编程能力和系统设计能力,在技术视野和业务洞察力方面,也要有很深的积淀。高可用、高并发、高性能及分布式、Jvm性能调优、Spring,MyBatis,Netty源码分析,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx。3. 电商交易业务场景技术融合(负载均衡、重试、幂等、分布式事务、隔离级别、熔断等核心技术)的架构哲学本质,如何优雅设计和实践。(5)分布式事务实践(5)NoSQL实践。 阅读详情

前言

前些日子有好多朋友都去投岗面试准备跳槽,面完回来跟我说碰到消息中间件一类的问题就挂了。额,有点不知所措,于是乎小编就想着做一次消息中间件的专题,归类整理了MQ(ActiveMQ/RabbitMQ/RocketMQ)+Kafka 等的纯手绘知识体系图、面试以及相关的学习笔记。

为了更好的梳理相关知识,咱们先看纯手绘知识体系图

1.1 Kafka知识体系大纲

由于我手绘这些知识体系大纲是用的xmind软件,无法上传,所以都以截图的形式展示,细节处不清楚(毕竟图片形式有限)。

1.2 RabbitMQ知识体系大纲

1.3 RocketMQ知识体系大纲

看完知识大纲,该刷面试了

2.1 刷刷Kafka面试

  1. Kafka的用途有哪些?使用场景如何?
  2. Kafka中的ISR、AR又代表什么?ISR的伸缩又指什么
  3. Kafka中的HW、LEO、LSO、LW等分别代表什么?
  4. Kafka中是怎么体现消息顺序性的?
  5. Kafka中的分区器、序列化器、拦截器是否了解?它们之间的处理顺序是什么?
  6. Kafka生产者客户端的整体结构是什么样子的?
  7. Kafka生产者客户端中使用了几个线程来处理?分别是什么?
  8. Kafka的旧版Scala的消费者客户端的设计有什么缺陷?
  9. “消费组中的消费者个数如果超过topic的分区,那么就会有消费者消费不到数据”这句话是否正确?如果正确,那么有没有什么hack的手段?
  10. 有哪些情形会造成重复消费?
  11. 哪些情景下会造成消息漏消费?
  12. KafkaConsumer是非线程安全的,那么怎么样实现多线程消费?
  13. 简述消费者与消费组之间的关系
  14. 当你使用kafka-topics.sh创建(删除)了一个topic之后,Kafka背后会执行什么逻辑?
  15. topic的分区数可不可以增加?如果可以怎么增加?如果不可以,那又是为什么?
  16. topic的分区数可不可以减少?如果可以怎么减少?如果不可以,那又是为什么?
  17. 创建topic时如何选择合适的分区数?
  18. Kafka目前有哪些内部topic,它们都有什么特征?各自的作用又是什么?
  19. 优先副本是什么?它有什么特殊的作用?
  20. Kafka有哪几处地方有分区分配的概念?简述大致的过程及原理
  21. 简述Kafka的日志目录结构
  22. Kafka中有哪些索引文件?
  23. 如果我指定了一个offset,Kafka怎么查找到对应的消息?
  24. 如果我指定了一个timestamp,Kafka怎么查找到对应的消息?
  25. 聊一聊你对Kafka的Log Retention的理解
  26. 聊一聊你对Kafka的Log Compaction的理解
  27. 聊一聊你对Kafka底层存储的理解
  28. 聊一聊Kafka的延时操作的原理
  29. 聊一聊Kafka控制器的作用
  30. Kafka的旧版Scala的消费者客户端的设计有什么缺陷?
  31. 消费再均衡的原理是什么?(提示:消费者协调器和消费组协调器)
  32. Kafka中的幂等是怎么实现的?
  33. Kafka中的事务是怎么实现的?
  34. 失效副本是指什么?有哪些应对措施?
  35. 多副本下,各个副本中的HW和LEO的演变过程
  36. Kafka在可靠性方面做了哪些改进?(HW, LeaderEpoch)
  37. 为什么Kafka不支持读写分离?
  38. Kafka中的延迟队列怎么实现
  39. Kafka中怎么实现死信队列和重试队列?
  40. Kafka中怎么做消息审计?
  41. Kafka中怎么做消息轨迹?
  42. 怎么计算Lag?(注意read_uncommitted和read_committed状态下的不同)
  43. Kafka有哪些指标需要着重关注?
  44. Kafka的哪些设计让它有如此高的性能?

2.2 刷刷ActiveMQ面试

  1. ActiveMQ 服务器宕机怎么办?
  2. 丢消息怎么办?
  3. 持久化消息非常慢
  4. 消息的不均匀消费
  5. 死信队列
  6. ActiveMQ 中的消息重发时间间隔和重发次数吗?

2.3 刷刷RabbitMQ面试

  1. RabbitMQ 中的 broker 是指什么?cluster 又是指什么?
  2. 什么是元数据?元数据分为哪些类型?包括哪些内容?与 cluster 相关的元数据有哪些?元数据是如何保存的?元数据在 cluster 中是如何分布的?
  3. RAM node 和 disk node 的区别?
  4. RabbitMQ 上的一个 queue 中存放的 message 是否有数量限制?
  5. RabbitMQ 概念里的 channel、exchange 和 queue 这些东东是逻辑概念,还是对应着进程实体?这些东东分别起什么作用?
  6. vhost 是什么?起什么作用?
  7. 在单 node 系统和多 node 构成的 cluster 系统中声明 queue、exchange ,以及进行 binding 会有什么不同?
  8. 客户端连接到 cluster 中的任意 node 上是否都能正常工作?
  9. 若 cluster 中拥有某个 queue 的 owner node 失效了,且该 queue 被声明具有durable 属性,是否能够成功从其他 node 上重新声明该 queue ?
  10. cluster 中 node 的失效会对 consumer 产生什么影响?若是在 cluster 中创建了mirrored queue ,这时 node 失效会对 consumer 产生什么影响?
  11. 能够在地理上分开的不同数据中心使用 RabbitMQ cluster 么?
  12. 为什么 heavy RPC 的使用场景下不建议采用 disk node ?
  13. 向不存在的 exchange 发 publish 消息会发生什么?向不存在的 queue 执行consume 动作会发生什么?
  14. routing_key 和 binding_key 的最大长度是多少?
  15. RabbitMQ 允许发送的 message 最大可达多大?
  16. 什么情况下 producer 不主动创建 queue 是安全的?
  17. “dead letter”queue 的用途?
  18. 为什么说保证 message 被可靠持久化的条件是 queue 和 exchange 具有durable 属性,同时 message 具有 persistent 属性才行?
  19. 什么情况下会出现 blackholed 问题?
  20. 如何防止出现 blackholed 问题?
  21. Consumer Cancellation Notification 机制用于什么场景?
  22. Basic.Reject 的用法是什么?
  23. 为什么不应该对所有的 message 都使用持久化机制?
  24. RabbitMQ 中的 cluster、mirrored queue,以及 warrens 机制分别用于解决什么问题?存在哪些问题?

答案如下

3.1 Kafka源码解析与实战

第1章 Kafka简介 第2章 Kafka的架构 第3章 Broker概述 第4章 Broker的基本模块 第5章 Broker的控制管理模块 第6章 Topic的管理工具 第7章 生产者 第8章 消费者 第9章 Kafka的典型应用 第10章 Kafka的综合实例

3.2 手写RocketMQ笔记

第一节:RocketMQ介绍
第二节:RocketMq中消息的发送
第三节:RocketMQ消息消费
第四节:深入消息发送
第五节:深入消息模式
第六节:顺序消息
第七节:延时消息
第八节:死信队列
第九节:消费幂等
第十节:消息过滤
第十一节:RocketMQ存储概要设计
第十二节:RocketMQ中的事务消息
第十三节:RocketMQ主从同步(HA)机制
第十四节:限时订单实战 第十五节:RocketMQ源码分析

3.3 RabbitMQ实战学习指南

第1章 RabbitMQ简介
第2章 RabbitMQ入门
第3章 客户端开发向导
第4章 RabbitMQ进阶
第5章 RabbitMQ管理
第6章 RabbitMQ配置
第7章 RabbitMQ运维
第8章 跨越集群的界限
第9章 RabbitMQ高阶
第10章 网络分区 第11章 RabbitMQ扩展

一波操作猛如虎,我来总结中间件

关于消息中间件MQ(ActiveMQ/RabbitMQ/RocketMQ)+Kafka,小编从每个的知识体系大纲开始,进行知识唤醒与梳理,然后再去刷刷各大面试高频题(附有详细的答案),最后在知识出现纰漏时尽快弥补(查找学习笔记)。

Java架构师必备基本功需求分析步骤 目录 1 逐字逐句拆分需求 2 业务流程串通 2.1 业务走查法是按照业务执行的步骤进行 2.2 检查这个业务业务的可行性 2.3 和逐字逐句读区别 3 问题挖掘法 4 业务功能点分析 4.1 思考功能点的触发方式 4.2 功能点操作的前置条件 4.3 考虑在界面表现形式 4.4 功能点执行完成过后会不会有连带的业务功能 5 业务流程详细分析 5.1 对业务流程的业务背景还有整体功能要进行详细的描述 5.2 通过流程图来加深对业务的理解 5.3 分析节点的参与者或者说是角色都有哪些 阅读详情

相关推荐

课程来自于 【大厂学苑】云原生视频课程(视频+资料+代码)

《拥抱云原生》是大厂学苑联合KubeSphere官方团队,为所有探索云原生生态体系的爱好者全力打造的一套系列课程。 本课程全程云上实战,很好地结合了微服务架构和云计算平台两者的优势,属于架构师必备课程。将从无到有搭建企业自己的私有云平台、包括DevOps平台。 覆盖Kubernetes、Jenkins、Istio、Jaeger、Prometheus、ELK等全套云原生方案,真正实现云上亿级流量永不宕机。 让大家站在架构师角度重新审视云原生时代,体验新一代架构思想ServiceMesh、Serverless带来的革命性变化。 声明:若由于商用引起版权纠纷,一切责任均由使用者承担。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

Java解析XML报文内容及标签属性

java dom4j 解析xml报文

凤栖梧的博客 6249

【WILEY】wiley期刊投稿详解:从revision到Accepted全流程实例讲解

注意:包括没标注修改位置的word文件和标注了修改位置的word文件。

Everyday try to become better -Kobe Bryant 1万+

面试惨败MQ?献上消息中间件解析合集:MQ+Kafka,助你吊打面试官

前些日子有好多朋友都去投岗面试准备跳槽,面完回来跟我说碰到消息中间件一类的问题就挂了。额,有点不知所措,于是乎小编就想着做一次消息中间件的专题,归类整理了MQ(ActiveMQ/RabbitMQ/RocketMQ)+Kafka 等的纯手绘知识体系图、面试以及相关的学习笔记。 为了更好的梳理相关知识,咱们先看纯手绘知识体系图 1.1 Kafka知识体系大纲 由于我手绘这些知识体系大纲是用的xmind软件,无法上传,所以都以截图的形式展示,细节处不清楚(毕竟图片形式有限),不过 需要的可以点击领取福利,.

m0_69519298的博客 488

PID算法(位置式pid算法和增量式pid算法)

PID 算法是闭环控制系统中常用的算法,PID 分别是 Proportion(比例)、Integral(积分)、Differential(微分)的首字母缩写。它是一种结合比例、积分和微分三个环节于一体的闭环控。

m0_57678852的博客 2万+

解决uc浏览器劫持video标签问题

解决uc视频悬浮播放 ,video标签被浏览器劫持 ,vide0适配

smile_y_y的博客 3449

面试惨败MQ?献上消息中间件解析合集:MQ+Kafka,助你吊打面试官!

前些日子有好多朋友都去投岗面试准备跳槽,面完回来跟我说碰到消息中间件一类的问题就挂了。额,有点不知所措,于是乎小编就想着做一次消息中间件的专题,归类整理了MQ(ActiveMQ/RabbitMQ/RocketMQ)+Kafka等的纯手绘知识体系图、面试以及相关的学习笔记。 为了更好的梳理相关知识,咱们先看纯手绘知识体系图 1.1 Kafka知识体系大纲 由于我手绘这些知识体系大纲是用的xmind软件,无法上传,所以都以截图的形式展示,细节处不清楚(毕竟图片形式有限),不过可提供...

mf97532的博客 223

用Arduino+ESP32复现TDOA定位:低成本实现厘米级精度的完整教程

本文提供了一套利用Arduino和ESP32平台,结合NRF24L01+模块与GPS/PPS时间同步方案,低成本复现高精度TDOA(到达时间差)定位系统的完整教程。教程详细阐述了从硬件选型、天线阵列设计、时间同步实现到核心算法与多径抑制的实战步骤,旨在帮助开发者和硬件爱好者以可控成本实现厘米级精度的定位演示系统。

weixin_29084111的博客 162

java读取并解析xml文件,将其中标签内容或者标签属性打印出来

读取xml并获取其中标签的属性等内容

weixin_44958420的博客 5604

【Office激活】学校正版Office已激活成功仍弹出激活窗口

学校正版Office激活问题:已激活成功仍弹出激活窗口

ESCM_的博客 1万+

centos-stream-9上安装nvidia驱动和cuda-toolkit

centos-stream-9上安装nvidia驱动和cuda-toolkit

qq_19072921的博客 3021

java开发基础二手,斩获offer

为了更好的梳理相关知识,咱们先看纯手绘知识体系图 1.1 Kafka知识体系大纲 由于我手绘这些知识体系大纲是用的xmind软件,无法上传,所以都以截图的形式展示,细节处不清楚(毕竟图片形式有限) 1.2 RabbitMQ知识体系大纲 1.3 RocketMQ知识体系大纲 看完知识大纲,该刷面试了 2.1 刷刷Kafka面试 Kafka的用途有哪些?使用场景如何? Kafka中的ISR、AR又代表什么?ISR的伸缩又指什么 Kafka中的HW、LEO、LSO、LW等分别代表什么? Kafka中

m0_57286743的博客 395

关于React Native Android找不到node的错误

最近,按照官方文档初始化了一个React Native项目,但是在Android端运行的时候,报了如下的一个错误。 org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:recordFilesBeforeBundleCommandDebug'. Caused by: org.gradle.process.internal.ExecException: A problem occurred starting p

xiangzhihong8的专栏 4246

秒杀系统面试

最近遇到一个需求就是每天中午12点开始抢消费券,很明显这是一个秒杀类型的业务 1.如何设计一个秒杀系统 在设计任何系统之前,我们首先都需要先理解秒杀系统的业务背景 下面我简单的举一个例子: 在某个时间点,某某电商网站要低价卖某件商品,而且限量1千件,抢购人数超过数十万人。 所以我们面临的第一个秒杀的问题就是:时间极短,然后瞬间流量非常大 我们的系统必须保证秒杀抢购的结果不出错,达到抢购的预期目的。 而且秒杀库存的实现也需要保障秒杀结果的准确性。 总结几个特点就是: 高性能:秒杀中有大量的并发读写,所以

zhiyikeji的博客 2865

【数据可视化-77】中国历年GDP数据可视化分析:Python + Pyecharts 深度洞察(含完整数据、代码)

通过上述可视化分析,我们可以清晰地看到中国历年GDP的变化趋势和产业构成。玫瑰图展示了2024年的产业构成,地图和柱状图展示了GDP的时空分布,双轴折线图和雷达图则分别展示了GDP总量与人均GDP的变化以及各行业的GDP贡献。希望这篇文章能帮助您更好地理解和分析中国历年GDP数据。如果您有任何问题或建议,欢迎在评论区留言!🎉。

qq_38614074的博客 1472

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

面试题中的秒杀问题

面试题中的秒杀问题

Lhf0902A的博客 2722

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Java 架构师学习路线

Java 架构师学习路线

weixin_44138647的博客 2820

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

java读取xml文件的属性以及相应的值

关键字 XML读取 InputStream DocumentBuilderFactory Element Node 直接上源码 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"> <bean name="HelloWorld" class="com.huishe.HelloWord">

kings_的博客 1518

Java学习路线图完整版(适合零基础自学)

从0到1实现一套完整的企业级微服务架构,整个架构基于SpringBoot和SpringCloud Alibaba基础之上,整合了Redis、Elasticsearch、RocketMQ、SpringSecurity、Oauth2等时下主流的一些技术框架与服务,灵活运用多种设计模式,非常完整的呈现出来企业中项目开发架构的设计与实现过程。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

关注我!带你一路 "狂飙" 到底! 2万+

2021史上最全的Java架构师资料!你确定不要吗?

有很多朋友问我怎么才能学会编程,好多人都是在网上找资源,但是网上的资料也有好坏和新旧。找的资源太旧学的东西太老,跟不上企业需求,还没出去工作就被社会抛弃!着实打击学习积极性和自信心,为此架构君为大家精心整理了一些精品资源帮助大家学习编程,一起进步! 精品资源 我整理了手上一些视频资源,这些资源很多都是最新的视频,但是由于资源数据流巨大,超过 500G ,涉及到 Java 基础、Web 基础、数据库、Java 高级、Java 分布式、微服务,资源非常丰富,还在不断更新中! PS:,本文会定期更新,有新资源的时

Newerwu的专栏 837

Java架构师之路前言、确定学习方案

框架和工具:Spring Framework、Spring Boot、Spring Cloud、MyBatis、Hibernate、Dubbo、Zookeeper、Redis等常用框架和工具。框架和工具:Spring Framework、Spring Boot、Spring Cloud、MyBatis、Hibernate、Dubbo、Zookeeper、Redis等常用框架和工具。Java架构师需要具备广泛的知识和技能,包括Java编程、数据库、网络通信、分布式系统、微服务、容器化、性能调优等方面的知识。

shenzhiyoushen的博客 1127

java解析xml文件内容

【代码】java读取xml文件内容。

一起coding,一起嗨。 2269

java:解析xml获得标签的属性name

解析xml,获取标签的属性name;

这个人很懒,没有博客简介... 648

Java程序员进阶架构师必备实践指南(值得收藏)

目录概述

m0_62051288的博客 368
上一篇: Java程序员搬砖5年,与阿里巴巴面试官大战7回合,终得P7- offer!
下一篇: Redis进阶之缓存问题:一致性、穿击、穿透、雪崩、污染等!
在酒吧写代码
博客等级 码龄7年 210粉丝 330原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值