京东-优惠雷达
无畏Pro 14限量抢购
冷藏饮料节
最高12期免息再送支架
自营热卖

01、以消息对列为例:浅谈面试123

蒂花之秀 1年前   阅读数 96 0

  在面试中,面试官首先先看了一下你的简历。(哎呀,我擦。正好了现在项目中正好用到MQ来了省的再上手了。先看看掌握的咋样。)

 

面试官:你在系统中使用过消息队列吗?(由浅入深慢慢来别给这小伙子太大压力了)

 

候选人:用过啊!(不假思索的就说了出来)

 

面试官:那你讲一下在你们的系统中是怎么用消息队列的?

 

候选人:我们做的某某系统将某某类型的消息放到队列中,其他系统进行消费啥的。(这里很多同学的回答中只涉及到项目中使用消息队列做了什么,自己是怎么使用消息队列的。

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

 

面试官:那你们为什么要使用消息队列啊?(擦,获取消息就更新库存啦?)

 

候选人:……,架构师搭建的,所以……(没考虑这个问题啊!老大让用啥就用啥呗,可怜这也是为什么涨不了薪资的原因啊!)

 

面试官:(这小子行不行啊!连这些问题都没考虑过,感觉没啥潜力呢?再看看基础掌握的咋样。)

 

面试官:那你讲一下消息队列都有那些优点和缺点呢?

 

候选人:这个……(擦,以前也没考虑过啊!不就是进行消息的同步吗?虽然知道这样讲不行,死马当作活马医吧!开始语无伦次起来了。)

 

面试官:(得了,有点够呛啊!都开始胡诌了!自己使用过的技术都没想过。)

 

面试官:那kafka、activemq、rabbitmq、rocketmq都有什么区别呢?(在项目使用中没想过,总对这些常用消息对列做过对比吧!)

 

候选人:我们项目中只用到了activemq,其他的暂时还不太了解。(有点脸红)

 

面试官:(完犊子,这小子啥都没想过啊!这些年都是怎么过来的啊!)

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

候选人:(我只是在项目中用过,只是用过……想哭的赶脚)

 

  以上,是面试的一个过程。大家有没有发现自己的问题呢?

  假如,在面试过程中的确遇到自己不会的问题了怎么办?总不能让这场面试草草十几分钟结束战斗吧!

  这个时候大家不妨尝试转移面试官的话题。更甚于告诉面试官消息队列我只是在项目中应用了,redis这块我了解的更深入一点,将面试官所想要问的问题转移到自己所准备的问题上来,至少不至于一败涂地。

 

  一般我在面试过程中我会就一个点由浅入深逐步进行拓展,从而更好的了解到你对知识点的掌握程度。所以不妨就这样的一种形式来准备自己的面试话术。即便面试官真的只是问一下你对MQ的了解而你将他说成了一套理论。那么,这也会成为你的加分项。

 

  最后,我再加上几个建议!

  1. MQ的概念是怎样的?
  2. 我为什么要使用MQ,使用它解决了什么问题?
  3. 在使用MQ的过程中我遇到了什么问题?
  4. 为什么会出现这些问题呢?
  5. 针对于这些问题我是如何思考,如何解决的呢?
  6. 通过对它的使用,给我带来了怎样的收获和提高?

 

  希望,能够对你有所帮助!

文集:https://www.jianshu.com/nb/32293473


注意:本文归作者所有,未经作者允许,不得转载

全部评论: 0

    我有话说: