A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

体验一下面试官对于消息队列的7个连环炮

面试官:你好


候选人:你好

大家寒暄一下。。。


(面试官在你的简历上面看到了,呦,有个亮点,就是你在项目里用过MQ,比如说你用过ActiveMQ)


面试官:你在系统里用过消息队列吗?(面试官在随和的语气中展开了面试)


候选人:用过的(此时感觉没啥)


面试官:那你说一下你们在项目里是怎么用消息队列的?


候选人:巴拉巴拉,我们啥啥系统发送个啥啥消息到队列,别的系统来消费啥啥的(很多同学在这里会进入一个误区,就是你仅仅就是知道以及回答你们是怎么用这个消息队列的,用这个消息队列来干了个什么事情?)


比如我们有个订单系统,订单系统会每次下一个新的订单的时候,就会发送时一条消息到ActiveMQ里面去,后台有个库存系统负责获取了消息然后更新库存。


面试官:那你们为什么使用消息队列啊?


(你的订单系统不发送消息到MQ,直接订单系统调用库存系统一个接口,咔嚓一下,直接就调用成功能了,库存就更新了)


候选人:额。。。(楞了一下,为什么?我没怎么仔细想过啊,老大让用就用了),硬着头皮胡言乱语了几句


(面试官此时听你楞了一下,然后听你胡言乱语了几句,开始心里觉得有点儿那什么了,怀疑你之前就压根儿没思考过这问题)


面试官:那你说说用消息队列都有什么优点和缺点?


(面试官此时心里想的是,你的MQ在项目里为啥要用?你没考虑过,那我稍微简单点儿,我问问你消息队列你之前有没有考虑过如果用的话,优点和缺点分别是啥?)


候选人:这个。。。(确实平时没怎么考虑过这个问题啊。。。胡言乱语了)


(面试官此时心里已经更觉得你这哥儿们不行,平时都没什么思考)


面试官:kafka、activemq、rabbitmq、rocketmq都有什么区别?


(面试官问你这个问题,就是说,绕过比较虚的话题,直接看看你对各种MQ中间件是否了解,是否做过功课,是否做过调研)


候选人:我们就用过activemq,所以别的没用过。。。区别,也不太清楚


(面试官此时却是觉得你这哥儿们平时就是瞎用,根本就没什么思考,觉得不行)


面试官:那你们是如何保证消息队列的高可用啊?


候选人:这个。。。我平时就是简单走api调用一下,不太清楚消息队列怎么部署的。。。


面试官:如何保证消息不被重复消费啊?如何保证消费的时候是幂等的啊?


候选人:啥?(mq不就是写入和消费就可以了,哪来这么多问题)


面试官:如何保证消息的可靠性传输啊?要是消息丢失了怎么办啊?


候选人:我们没怎么丢过消息啊。。。


面试官:那如何保证消息的顺序性?


候选人:顺序性?什么意思?我为什么要保证消息的顺序性?


面试官:如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决?


候选人:不是,我这平时没遇到过这些问题啊,就是简单用用,知道mq的一些功能


面试官:如果让你写一个消息队列,该如何进行架构设计啊?说一下你的思路


候选人:。。。。。我还是走吧。。。。




其实上面是一个非常典型的关于消息队列的技术考察过程,好的面试官一定是从你做过的某一个点切入,然后层层展开深入考察,一个接一个问,直到把这个技术点刨根问底,问到最底层。


如果没有刻意的对这种面试方式锻炼一下,出去面试碰到难一点的面试,大多会手忙脚乱,基本面试以失败为告终。


但是如果你把这些常见问题都掌握了,哪怕是面试官没问到你这么深入,他问你一个消息队列问题,你就自己给他说出自己的一整套见解,那么恭喜你,就是plus加分项了

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马