分布式系统面试连环炮


分布式系统面试连环炮

有一些同学,之前呢主要是做传统行业,或者外包项目,一直是在那种小的公司,技术一直都搞的比较简单。他们有共同的一个问题,就是都没怎么搞过分布式系统,现在互联网公司,一般都是做分布式的系统,大家都不是做底层的分布式系统、分布式存储系统 hadoop hdfs、分布式计算系统 hadoop mapreduce / spark、分布式流式计算系统 storm。

分布式业务系统,就是把原来用 Java 开发的一个大块系统,给拆分成多个子系统,多个子系统之间互相调用,形成一个大系统的整体。假设原来你做了一个 OA 系统,里面包含了权限模块、员工模块、请假模块、财务模块,一个工程,里面包含了一堆模块,模块与模块之间会互相去调用,1 台机器部署。现在如果你把这个系统给拆开,权限系统、员工系统、请假系统、财务系统 4 个系统,4 个工程,分别在 4 台机器上部署。一个请求过来,完成这个请求,这个员工系统,调用权限系统,调用请假系统,调用财务系统,4 个系统分别完成了一部分的事情,最后 4 个系统都干完了以后,才认为是这个请求已经完成了。

simple-distributed-system-oa

这两年开始兴起和流行 Spring Cloud,刚流行,还没开始普及,目前普及的是 dubbo,因此这里也主要讲 dubbo。

面试官可能会问你以下问题。

为什么要进行系统拆分?

为什么要进行系统拆分?如何进行系统拆分?拆分后不用dubbo可以吗?dubbo和thrift有什么区别呢?

分布式服务框架

说一下的 dubbo 的工作原理?注册中心挂了可以继续通信吗?

dubbo 支持哪些序列化协议?说一下 hessian 的数据结构?PB 知道吗?为什么 PB 的效率是最高的?

dubbo 负载均衡策略和高可用策略都有哪些?动态代理策略呢?

dubbo 的 spi 思想是什么?

如何基于 dubbo 进行服务治理、服务降级、失败重试以及超时重试?

分布式服务接口的幂等性如何设计(比如不能重复扣款)?

分布式服务接口请求的顺序性如何保证?

如何自己设计一个类似 dubbo 的 rpc 框架?

分布式锁

使用 redis 如何设计分布式锁?使用 zk 来设计分布式锁可以吗?这两种分布式锁的实现方式哪种效率比较高?

分布式事务

分布式事务了解吗?你们如何解决分布式事务问题的?TCC 如果出现网络连不通怎么办?XA 的一致性如何保证?

分布式会话

集群部署时的分布式 session 如何实现?

下面小编为大家整理了分布式需要掌握的知识

1.1. 分布式架构思维

1.1.1. 大型互联网架构演进过程

1.1.2. 架构师应具备的分布式知识

1.1.3. 主流分布式架构设计详解

1.2. Zookeeper分布式环境指挥官

1.2.1. zookeeper基础

zk的入门

会话

节点属性

节点类型

版本

监听器机制

安全权限

单机部署

zk的命令

zk开发基础

原生客户端

zkclient

curotor

1.2.2. zookeeper进阶

zk集群

zk集群部署安装

客户端连接zk集群以及原理

zk的注意事项

1.2.3. zk的使用举例

配置中心

分布式锁

集群选举

命名服务

想要获取以上面试题的参考答案,可以加群:810589193,点击链接加入群聊【Java架构学习交流群】:https://jq.qq.com/?_wv=1027&k=5deQUBl获取所有面试题参考答案。

你可能感兴趣的:(分布式系统面试连环炮)