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 如何实现延时队列?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340