ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Java全栈面试宝典:从P6到P8-7

Java全栈面试宝典:从P6到P8-7 第7章 消息队列(80题)消息队列是分布式系统的"标配"。我面过不少候选人,简历上写了"精通Kafka",一问到ISR怎么维护的、Controller切换时offset怎么处理,就开始含糊。消息队列的面经网上铺天盖地,但大部分停留在"削峰填谷、解耦异步"八个字。这80题,我从消息队列通用原理讲到Kafka、RabbitMQ、RocketMQ、Pulsar四大件,争取每个高频题都给你源码级的解释。面试官视角:本章面试官最看重的3个点消息可靠性保证——能不能把"消息不丢"讲清楚,从生产者发送、Broker存储、消费者消费三个环节各有哪些机制。Kafka的ACK=0/1/-1到底有什么区别?ISR里follower落后多少会被踢出去?生产者重试会不会导致消息乱序?这些问题层层递进,能答到第三层的基本就是P7+了。消息顺序性和幂等性——这两个经常被一起问。顺序消费你说"分区有序",那如果某个分区挂了重新选主,消息还能有序吗?幂等你说"用数据库唯一键",那高并发下唯一键冲突怎么处理?是重试还是跳过?这些不是背概念能回答的,得实际做过。Kafka和RocketMQ的选型——我面试时一定会问:“你们项目里用的是Kafka还是RocketMQ?为什么?” 候选人如果能从架构差异(Kafka的Partition vs RocketMQ的Queue)、存储设计(Kafka的Segment vs Rocket
返回列表