MQ消息中间件,面试能问些什么?( 八 )
往期面试题汇总:001期~150期汇总
(3)然后我们再来假设第三个坑如果走的方式是消息积压在mq里 , 那么如果你很长时间都没处理掉 , 此时导致mq都快写满了 , 咋办?这个还有别的办法吗?没有 , 谁让你第一个方案执行的太慢了 , 你临时写程序 , 接入数据来消费 , 消费一个丢弃一个 , 都不要了 , 快速消费掉所有的消息 。 然后走第二个方案 , 到了晚上再补数据吧 。
1. 如果让你写一个消息队列 , 该如何进行架构设计啊?说一下你的思路
其实聊到这个问题 , 一般面试官要考察两块:
(1)你有没有对某一个消息队列做过较为深入的原理的了解 , 或者从整体了解把握住一个mq的架构原理
(2)看看你的设计能力 , 给你一个常见的系统 , 就是消息队列系统 , 看看你能不能从全局把握一下整体架构设计 , 给出一些关键点出来
其实回答这类问题 , 说白了 , 起码不求你看过那技术的源码 , 起码你大概知道那个技术的基本原理 , 核心组成部分 , 基本架构构成 , 然后参照一些开源的技术把一个系统设计出来的思路说一下就好
比如说这个消息队列系统 , 我们来从以下几个角度来考虑一下
说实话 , 我一般面类似问题的时候 , 大部分人基本都会蒙 , 因为平时从来没有思考过类似的问题 , 大多数人就是平时埋头用 , 从来不去思考背后的一些东西 。 类似的问题 , 我经常问的还有 , 如果让你来设计一个spring框架你会怎么做?如果让你来设计一个dubbo框架你会怎么做?如果让你来设计一个mybatis框架你会怎么做?
其实回答这类问题 , 说白了 , 起码不求你看过那技术的源码 , 起码你大概知道那个技术的基本原理 , 核心组成部分 , 基本架构构成 , 然后参照一些开源的技术把一个系统设计出来的思路说一下就好
比如说这个消息队列系统 , 我们来从以下几个角度来考虑一下
(1)首先这个mq得支持可伸缩性吧 , 就是需要的时候快速扩容 , 就可以增加吞吐量和容量 , 那怎么搞?设计个分布式的系统呗 , 参照一下kafka的设计理念 , broker -> topic -> partition , 每个partition放一个机器 , 就存一部分数据 。 如果现在资源不够了 , 简单啊 , 给topic增加partition , 然后做数据迁移 , 增加机器 , 不就可以存放更多数据 , 提供更高的吞吐量了?
(2)其次你得考虑一下这个mq的数据要不要落地磁盘吧?那肯定要了 , 落磁盘 , 才能保证别进程挂了数据就丢了 。 那落磁盘的时候怎么落啊?顺序写 , 这样就没有磁盘随机读写的寻址开销 , 磁盘顺序读写的性能是很高的 , 这就是kafka的思路 。
2.其次你考虑一下你的mq的可用性啊?
这个事儿 , 具体参考我们之前可用性那个环节讲解的kafka的高可用保障机制 。 多副本 -> leader & follower -> broker挂了重新选举leader即可对外服务 。
(4)能不能支持数据0丢失啊?可以的 , 参考我们之前说的那个kafka数据零丢失方案
其实一个mq肯定是很复杂的 , 面试官问你这个问题 , 其实是个开放题 , 他就是看看你有没有从架构角度整体构思和设计的思维以及能力 。 确实这个问题可以刷掉一大批人 , 因为大部分人平时不思考这些东西 。
END
来源:blog.csdn.net/qq_29676623/article/details/85108070
文章插图
之前 , 给大家发过三份Java面试宝典 , 这次新增了一份 , 目前总共是四份面试宝典 , 相信在跳槽前一个月按照面试宝典准备准备 , 基本没大问题 。
- 《java面试宝典5.0》(初中级)
- 《350道Java面试题:整理自100+公司》(中高级)
- 《资深java面试宝典-视频版》(资深)
- 《Java[BAT]面试必备》(资深)
内容包含java基础、javaweb、mysql性能优化、JVM、锁、百万并发、消息队列 , 高性能缓存、反射、Spring全家桶原理、微服务、Zookeeper、数据结构、限流熔断降级等等 。
文章插图
【MQ消息中间件,面试能问些什么?】看到这里 , 证明有所收获
- 采用|消息称一加9系列将推出三款新机,新增一加9E
- 机器人|网络里面的假消息忽悠了非常多的小喷子和小机器人
- 好消息|好消息!双十二实体店消费券已经开领
- 出炉|三星S11最新消息出炉,S10沦为百元机,星粉:服了
- 网络|最新消息!2020年后Flash Player搭载重橙网络继续运营
- 人工智能|最新消息,人工智能解决了长达50年的生物学难题,一个巨大的突破
- 深圳市智信|消息称华为员工进驻新荣耀没有 1.7 倍收入补偿
- 追踪|消息称三星正研发名为“Galaxy Smart Tag”的物体追踪器
- 玻璃|消息称三星Galaxy Z Fold3定价与三星Z Fold2相同,或将配备UTG超薄玻璃
- 三年Java开发,刚从美团、京东、阿里面试归来,分享个人面经