互联网高级Java工程师训练

分布式系统

  • 为什么要进行系统拆分
  • 分布式服务框架
  • 分布式锁
  • 分布式事务
  • 分布式会话

高并发架构

  • 如何设计一个高并发系统
  • 消息队列
  • 搜索引擎
  • 缓存
  • 分库分表
  • 读写分离

高可用架构

  • 如何设计一个高可用系统
  • 限流
  • 熔断
  • 降级

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

面试官:你好
候选人:你好
大家寒暄一下。。。
面试官拿着你的简历,突然瞅到了MQ,哟,有个亮点,这个家伙在项目里用过MQ(比如你用了AcviveMQ)。
面试官:你在系统用过消息队列吗?(面试官在缓和的语气中展开了面试)
候选人:用过的(此时感觉没啥)

面试官:那你说一下你们在项目中是怎么用消息队列的?
候选人:balabala…,我们啥啥系统发送个啥啥消息到消息队列,别的系统来消费啥的。

面试官:那你们为什么使用消息队列啊?
候选人:额。。。(愣了一下,为什么?我没仔细想啊,老大让用就用了呗),硬着头皮胡言乱语了几句。

面试官:那你说说消息队列有什么优缺点?
候选人:这个。。。(平时没怎么考虑过这个问题啊。。。)。

面试官:Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么优点和缺点啊?
候选人:我就用过ActiveMQ,别的没用过。。。

面试官:那你们是如何保证消息队列的高可用啊?
候选人:这个。。。我平时就是简单调用一下API,不太清楚消息队列怎么部署的。

面试官:如何保证消息不被重复消费啊?如何保证消费的时候是幂等的啊?
候选人:啥?(mq不就是写入消息和消费就可以了,哪来这么多问题)。

面试官:如何保证消息的可靠性传输啊?要是消息丢失了怎么办?
候选人:我们没怎么丢过消息啊

面试官:那如何保证消息的顺序性?
候选人:顺序性,什么意思?为什么我们要保证消息的顺序性

面试官:如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几个小时,说说怎么解决?
候选人:不是,我这平时没遇到过这些问题啊,就是简单用用,知道mq的一些功能。

面试官:如果让你来写一个消息队列,该如何进行架构设计啊?说一下你的思路
候选人:。。。我还是走吧。。。

发布了219 篇原创文章 · 获赞 42 · 访问量 28万+

猜你喜欢

转载自blog.csdn.net/Geek_ymv/article/details/96888491