前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >121道分布式面试题和答案

121道分布式面试题和答案

作者头像
田维常
发布2022-06-13 09:05:17
1.7K0
发布2022-06-13 09:05:17
举报

大家好,我是田哥。最近给大家整理了一份分布式面试题,一共有121道,后面会不断增加,争取做到全网最全的分布式面试题。大部分题目都是来自小伙伴们在面试中被问到后,反馈到我这里的。也由此可知,下一个被问到的估计就是你。

分布式事务

分布式事务相关面试题一共17道,后面不断完善。

请说说你对分布式系统 CAP 理论的理解,CAP 分别代表什么含义?

什么是二阶段提交?

什么是三阶段提交?

什么是补偿事务?

你知道哪些分布式事务解决方案?

为什么分布式系统的一致性和可用性不能同时满足?

你是如何理解数据一致性的?数据一致性有哪几种模型?

你在做系统设计时,如何选择实现强一致性还是弱一致性?

在你的项目里,是如何设计分布式事务,实现最终一致性的?

Sagas事务模型是什么?

熟悉哪些分布式锁实现方案?

分布式锁应该具备哪些条件?

哪种分布式锁实现方案更好?

你了解数据库的 binlog 和 redolog 吗?是如何实现一致性的呢?

分布式幂等性如何设计?

简单一次完整的 HTTP 请求所经历的步骤?

如何提高系统的并发能力?

分布式微服务

微服务模块一共搜集到面试题共42道,基本上已经覆盖完成,后期对这些题目做进步优化。

为什么需要 Dubbo?

Dubbo 的主要应用场景?

Dubbo 的核心功能?

Dubbo 服务注册与发现的流程?

Dubbo 的服务调用流程?

Dubbo 支持哪些协议,每种协议的应用场景、优缺点?

Dubbo 有些哪些注册中心?

Dubbo 如何实现服务治理?

Dubbo 的注册中心集群挂掉,如何正常消费?

Dubbo 集群提供了哪些负载均衡策略?

Dubbo 的集群容错方案有哪些?

Dubbo 支持哪些序列化方式?

说说一次 Dubbo 服务请求流程?

说说 Dubbo 工作原理

注册中心挂了,consumer 还能不能调用 provider?

怎么实现动态感知服务下线的呢?

服务提供者没挂,但在注册中心里看不到?

说说Dubbo的优先级配置

负载平衡的意义什么?

常见负载均衡算法有哪些?

你知道哪些限流算法?

说说什么是计数器(固定窗口)算法

说说什么是滑动窗口算法

说说什么是漏桶算法

说说什么是令牌桶算法

什么是微服务?

Spring Cloud 的核心组件有哪些?

Spring Cloud有什么优势?

什么是服务熔断?什么是服务降级?

Eureka和Zookeeper,作为注册中心,有什么区别

Spring Boot和Spring Cloud的区别?

什么是Hystrix?它如何实现容错?

说说 RPC 的实现原理

Eureka自我保护机制是什么?

什么是Ribbon?

什么是Feigin?它的优点是什么?

Ribbon和Feign的区别?

说说微服务之间是如何独立通讯的?

Spring Cloud如何实现服务的注册?

说说 Dubbo 与 Spring Cloud 的区别?

简述一下什么是Nginx,它有什么优势和功能?

Nginx是如何处理一个HTTP请求的呢?

分布式存储

共10道

当高并发系统设计时,为什么要分库分表?

用过哪些分库分表中间件?

不同的分库分表中间件都有什么优点和缺点?

如何对数据库进行垂直拆分或水平拆分?

如果要设计一个可以动态扩容缩容的分库分表方案,应该如何做?

数据库分库分表以后,如何处理设计主键生成器?

不同的主键生成方式有什么区别?

分布式ID生成有几种方案?

分库分表第三方框架有哪些?

分布式消息队列

共27道

为什么要使用消息队列?

消息队列有什么缺点?

如何保证消息队列的高可用?

如何保证消息不被重复消费?

如何保证消费的时候是幂等?

如何保证消息的可靠性传输?

传输过程出现消息丢失了怎么办?

如何保证消息的顺序性?

如何解决消息队列的延时问题?

如何解决消息队列的过期失效问题?

消息队列满了以后该怎么处理?

有几百万消息持续积压几小时,应该怎么解决?

如果让你写一个消息队列,该如何进行架构设计?

以 Kafka 为例,可以提出以下的问题:

描述一下 Kafka 的设计架构?

Kafka、ActiveMQ、RabbitMQ、RocketMQ 之间都有什么区别?

Kafka 消费端是否可能出现重复消费问题?

Kafka 为什么会分区?

Kafka 如何保证数据一致性?

Kafka 中 ISR、OSR、AR 是什么?

Kafka 在什么情况下会出现消息丢失?

Kafka 消息是采用 Pull 模式,还是 Push 模式?

Kafka 如何和 ZooKeeper 进行交互?

Kafka 是如何实现高吞吐率的?

如果是 RocketMQ,很多问题都是类似的,可以从以下的问题出发进行考察:

RocketMQ 和 ActiveMQ 有哪些区别?

为什么 RocketMQ 不会丢失消息?

RocketMQ 的事务消息都有哪些应用?

RocketMQ 是怎么保证系统高可用的?

分布式缓存

共25道

缓存雪崩、缓存穿透如何理解?

如何在业务中避免相关问题?

如何保证数据库与缓存的一致性?

如何进行缓存预热?

缓存集群如何失效?

一致性哈希有哪些应用?

缓存如何监控和优化热点 key?

Redis 有哪些数据结构?

Redis 和 Memcached 有哪些区别?

单线程的 Redis 如何实现高性能读写?

Redis 支持事务吗?

Redis 的管道如何实现?

Redis 有哪些失效策略?

Redis 的主从复制如何实现?

Redis 的 Sentinel 有哪些应用?

Redis 集群有哪几种方式?

Redis 和 memcached 什么区别?

Redis 的集群模式如何实现?

Redis 的 key 是如何寻址的?

Redis 的持久化底层如何实现?

Redis 过期策略都有哪些?

缓存与数据库不一致怎么办?

Redis 常见的性能问题和解决方案?

使用 Redis 如何实现异步队列?

Redis 如何实现延时队列?

总结

目前就整理这5大模块,后面还会继续完善。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java后端技术全栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 分布式事务
  • 分布式微服务
  • 分布式存储
  • 分布式消息队列
  • 分布式缓存
  • 总结
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档