分布式常见面试题整理
Posted 愉悦滴帮主)
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式常见面试题整理相关的知识,希望对你有一定的参考价值。
一、分布式理论:
1. 什么是CAP理论? 2. 什么是BASE理论? 3. 什么是2PC? 4. 什么是3PC? 5. 什么是ZAB协议? 6. 什么是Raft协议? 7. 什么是Paxos算法?二、Zookeeper:
8. ZooKeeper是什么? 9. Zookeeper怎么保证主从节点的数据同步? 10. Zookeeper为什么能用做注册中心? 11. Zookeeper中有哪些类型的数据节点? 12. Zookeeper中Watcher机制是什么? 13. Zookeeper集群中有哪些服务器角色? 14. Zookeeper中的领导者选举是如何实现的? 15. 能不能描述 一 下Zookeeper中的ZAB协议包括哪些内容? 16. Zookeeper能解决脑裂问题吗?为什么能?或者为什么不能? 17. 为什么Zookeeper集群的节点个数要用奇数个节点? 18. Zookeeper能用来做什么? 19. Zookeeper实现分布式锁的原理是什么? 20. Zookeeper实现配置中心的原理是什么? 21. Zookeeper和Dubbo的关系是什么?三、分布式缓存:
22. 什么是redis? 23. 为什么要用redis?为什么要用缓存? 24. 为什么要用redis而不用map做缓存? 25. redis的线程模型是怎么样的? 26. redis和memcached 的区别? 27. redis常见数据结构以及使用场景分析? 28. 怎么保证redis挂掉之后再重启数据可以进行恢复? 29. MySQL里有2000w数据,redis中只存20w的数据,如何保证redis 中的数据都是热点数据? 30. 如何实现redis事务? 31. 什么是缓存雪崩?有哪些解决办法? 32. 什么是缓存穿透?有哪些解决办法? 33. 什么是缓存击穿?有哪些解决办法? 34. 如何解决redis的并发竞争Key问题? 35. 什么是RedLock? 36. 如何保证缓存与数据库双写时的数据 一 致性? 37. 怎么在单节点上实现分布式锁? 38. Redis 是什么?都有哪些使用场景? 39. Redis 有哪些功能? 40. Redis 为什么是单线程的? 41. Redis 支持的 Java 客户端都有哪些? 42. Jedis 和 Redisson 有哪些区别? 43. Redis 怎么实现分布式锁? 44. Redis 持久化有几种方式? 45. Redis 如何做内存优化? 46. Redis 分布式锁有什么缺陷? 47. Redis 常见的性能问题有哪些?该如何解决? 48. Redis 淘汰策略有哪些? 49. 单线程的 Redis 为什么这么快? 50. 说说 Redis 都有哪些应用场景?四、消息队列:
51. 如何进行MQ的选型? 52. RabbitMQ 的消息是怎么发送的? 53. RabbitMQ 怎么保证消息的稳定性? 54. RabbitMQ 怎么避免消息丢失? 55. RabbitMQ 持久化有什么缺点? 56. 要保证消息持久化成功的条件有哪些? 57. RabbitMQ 有几种广播类型? 58. RabbitMQ 怎么实现延迟消息队列? 59. RabbitMQ 节点的类型有哪些? 60. RabbitMQ 每个节点是其他节点的完整拷贝吗?为什么? 61. RabbitMQ 集群中唯 一一 个磁盘节点崩溃了会发生什么情况? 62. RabbitMQ 对集群节点停止顺序有要求吗? 63. RabbitMQ 的使用场景有哪些? 64. RabbitMQ 有哪些重要的角色? 65. RabbitMQ 有哪些重要的组件? 66. RabbitMQ 中 vhost 的作用是什么? 67. 什么是kafka? 68. 为什么要使用 kafka,为什么要使用消息队列? 69. Kafka中的ISR、AR分别表示什么意思?ISR的伸缩又指什么? 70. kafka中的broker的作用是什么? 71. kafka中的zookeeper起到什么作用,可以不用zookeeper吗? 72. kafka中的follower如何与leader同步数据? 73. 什么情况下 一 个 broker 会从 isr中踢出去? 74. kafka 为什么那么快? 75. kafka producer如何优化发送消息的速度? 76. kafka producer发送数据时,ack 为 0, 1, - 1 的时候分别表示什 么意思? 77. kafka的message格式是什么样的? 78. kafka中consumer group 是做什么用的? 79. Kafka中的消息是否会丢失和重复消费? 80. 为什么Kafka不支持读写分离? 81. Kafka中是怎么体现消息顺序性的? 82. kafka如何实现延迟队列? 83. Kafka中的事务是怎么实现的? 84. Kafka中有那些地方需要选举?这些地方的选举策略又有哪些? 85. 你们为什么选RocketMQ作为公司系统的消息中间件?Kafka、 RabbitMQ以及RocketMQ的调研对比 86. RocketMQ如何分布式存储海量消息的? 87. 任何 一 台Broker突然宕机了怎么办?那不就会导致RocketMQ里 一 部 分的消息就没了吗?这就会导致MQ的不可靠和不可用,这个问题怎么解 决? 88. 怎么知道有哪些Broker?怎么知道要连接到哪 一 台Broker上去发送和 接收消息? 89. RocketMQ包含了几个核心部分? 90. NameServer到底可以部署几台机器?为什么要集群化部署? 91. Broker把自己的信息注册到哪个NameServer上? 92. 系统如何从NameServer获取Broker信息? 93. 如果Broker宕了,NameServer是怎么感知到的? 94. Master Broker是如何将消息同步给Slave Broker的? 95. 如果Slave Broker挂掉了,会对整个系统有影响吗? 96. Master Broker突然挂了,这样会怎么样? 97. 什么是Dledger机制?五、分布式锁:
98. 你有遇到需要使用分布式锁的场景吗? 99. 那常见的分布式锁有哪些解决方案,你有了解吗? 100. 说说Redis分布式锁实现方法 101. 说说基于 ZooKeeper 的分布式锁实现原理 102. ZK和Reids的区别,各自有什么优缺点? 103. Mysql如何做分布式锁? 104. 你了解业界哪些大公司的分布式锁框架六、分布式服务调用:
105. 什么是RPC? 106. 什么是RPC over HTTP, PRC over TCP? 107. Dubbo的核心组件有哪些 108. Dubbo中服务是如何进行调用的? 109. Dubbo中有哪几种集群容错方案? 110. Dubbo中的服务调用是阻塞的吗? 111. Dubbo支持哪些协议,每种协议的使用场景是什么? 112. 你觉得用Dubbo好,还是Spring Cloud好? 113. Dubbo提供了哪几种负载均衡策略,能不能分别描述 一 下对应的工 作流程? 114. Dubbo推荐使用什么序列化框架,你知道哪些序列化机制? 115. Dubbo如何进行服务降级? 116. 说说Dubbo中服务暴露的过程? 117. 说说Dubbo中服务引入的过程? 118. Dubbo支持 一 个服务多个协议吗? 119. Dubbo支持 一 个服务多个注册中心吗? 120. Dubbo支持 一 个服务多个版本吗?如何支持的?七、微服务:
121. 你是怎么理解微服务的? 122. 微服务有哪些特点? 123. 什么是SOA,它的微服务有什么区别? 124. 微服务架构的优点和缺点是什么? 125. Spring Cloud Netflix中有哪些组件? 126. Spring Cloud Alibaba中有哪些组件? 127. Spring Cloud断路器的作用是什么? 128. Spring Cloud如何实现服务的注册? 129. Eureka和ZooKeeper都可以作为注册中心,区别是什么? 130. 什么是Ribbon?作用是什么? 131. 什么是Feign?作用是什么? 132. 什么是Hystrix?作用是什么? 133. 什么是Spring Cloud Bus? 作用是什么? 134. 什么是网关?作用是什么? 135. Spring Cloud和Dubbo的区别是什么? 136. 什么是Restful? 137. 如何拆分服务?根据哪些原则进行拆分? 138. 什么是服务网格?它的特点是什么?它主要解决的问题是什么? 139. 什么是DDD?八、分布式事务:
140. 什么是分布式事务? 141. 常用的解决分布式事务的方案有哪些? 142. 描述 一 下XA解决分布式事务的流程? 143. 描述 一 下2PC? 144. 描述 一 下3PC? 145. TCC又是什么? 146. 你有用过阿里的Seata吗?它是如何解决分布式事务的? 147. 在具体的项目开发中,我们如何选择分布式解决方案,应该从哪些维 度进行考虑? 148. 你听说过Saga吗?能描述 一 下吗? 149. 你知道哪些分布式事务框架?他们分别是使用的什么原理来解决的分 布式事务? 150. 消息队列如何解决分布式事务?以上是关于分布式常见面试题整理的主要内容,如果未能解决你的问题,请参考以下文章