若是让你写一个消息队列,该如何进行架构设计?说一下你的思路。面试
其实聊到这个问题,通常面试官要考察两块:架构
说实话,问相似问题的时候,大部分人基本都会蒙,由于平时历来没有思考过相似的问题,大多数人就是平时埋头用,历来不去思考背后的一些东西。相似的问题,好比,若是让你来设计一个 Spring 框架你会怎么作?若是让你来设计一个 Dubbo 框架你会怎么作?若是让你来设计一个 MyBatis 框架你会怎么作?并发
其实回答这类问题,说白了,不求你看过那技术的源码,起码你要大概知道那个技术的基本原理、核心组成部分、基本架构构成,而后参照一些开源的技术把一个系统设计出来的思路说一下就好。框架
好比说这个消息队列系统,咱们从如下几个角度来考虑一下:机器学习
mq 确定是很复杂的,面试官问你这个问题,实际上是个开放题,他就是看看你有没有从架构角度总体构思和设计的思惟以及能力。确实这个问题能够刷掉一大批人,由于大部分人平时不思考这些东西。分布式
免费Java资料须要本身领取,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo/Kafka、Hadoop、Hbase、Flink等高并发分布式、大数据、机器学习等技术。
传送门: https://mp.weixin.qq.com/s/JzddfH-7yNudmkjT0IRL8Q