写点什么

一线大厂为什么面试必问分布式?

作者:钟奕礼
  • 2022-12-02
    湖南
  • 本文字数:1921 字

    阅读完需:约 6 分钟

为什么要学习分布式

作为一名后端 Java 程序员,我们在找工作写简历的时候除了高并发经验。一般情况下都还会写上自己熟悉/了解/掌握/精通分布式系统,所以高并发和分布式大多是成对出现的。

在某直聘网站上搜到的 Java 岗位

这么多金的一个知识点,还不抓紧行动?


本文目录

  • 前言

  • 分布式协调与同步

  • 分布式资源管理与负载调度

  • 分布式计算技术

  • 分布式通信技术

  • 分布式数据存储

  • 分布式高可靠

大纲图


提示:限于篇幅,完整的《分布式核心原理解析》资料已整理成文档,免费获取,需要的小伙伴可以+ VX: mxk6072

一、协调与同步

  1. 分布式互斥


    ①. 什么是分布式互斥?②. 霸道总裁:集中式算法③. 民主协商:分布式算法④. 轮值 CEO:令牌环算法

  2. 分布式选举


    ①. 为什么要有分布式选举?②. 分布式选举的算法

  3. 分布式共识


    ①. 什么是分布式共识?②. 分布式共识方法

  4. 分布式事务


    ①. 什么是分布式事务?②. 如何实现分布式事务?③. 基于 XA 协议的二=阶段提交方法④. 三阶段提交方法⑤. 基于分布式消息的最终一致性方案⑥. 三种实现方式对比

  5. 分布式锁


    ①. 为什么要使用分布锁?②. 分布式锁的三种实现方法及对比③. 基于缓存实现分布式锁.④. 基于 Zookeeper 实现分布式锁⑤. 三种实现方式对比

  6. 分布式技术是如何引爆人工智能的?


    ①. 什么是人工智能?②. 数据处理③. 分布式模型训练④. 数据分布式训练⑤. 模型分布式训练⑥. 混合模型训练



二、资源管理与负载调度

  1. 分布式体系结构——集中式结构


    ①. 什么是集中式结构?②. 经典集中式结构③. 分析对比

  2. 分布式体系结构——非集中式结构


    ①. 什么是非集中式结构?②. Akka 集群③. Redis 集群④. Cassandra 集群⑤. 对比分析

  3. 分布式调度架构——单体调度


    ①. 什么是单体调度?②. 单体调度设计③. Borg 调度设计④. Borg 调度算法

  4. 分布式调度架构——两层调度


    ①. 什么是两层调度?②. 两层调度设计③. 两层调度架构④. 资源分配算法

  5. 分布式调度架构——共享状态调度


    ①. 什么是共享状态调度?②. 共享状态调度设计③. Omega 调度架构④. Omega 共享调度工作原理

  6. 分布式事务与分布式锁相关问题


    ①. 分布式事务的相关问题②. 分布式锁的相关问题



三、计算技术

  1. 分布式计算模式——MR


    ①. 什么是分而治之?②. 分治法的原理③. 抽象模型④. MapReduce 工作原理⑤. MapReduce 实践应用

  2. 分布式计算模式——Stream


    ①. 什么是 Stream?②. Stream 工作原理③. Storm 的工作原理

  3. 分布式计算模式——Actor


    ①. 什么是 Actor?②. Actor 计算模式③. Actor 工作原理④. Actor 关键特征⑤. Actor 模型的应用

  4. 分布式计算模式——流水线


    ①. 什么是流水线模式?②. 流水线计算模式③. 流水线计算模式的原理④. 实践:构建机器学习流水线



四、通信技术

  1. 分布式通信——远程调用


    ①. 什么是远程调用?②. 远程调用的原理及应用③. RPC 的原理及应用④. RM 的原理及应用⑤. RPC 与 RM 对比分析

  2. 分布式通信——发布订阅


    ①. 什么是发布订阅?②. 发布订阅的原理及应用③. 发布订阅的基本工作原理④. Kafka 发布订阅原理及工作机制⑤. 发布订阅实践应用

  3. 分布式通信——消息队列


    ①. 什么是消息队列?②. 消息队列的原理③. 消息队列工作原理④. RocketMQ 消息队列原理及工作机制

  4. 分布式体系架构与分布式计算相关问题


    ①. 分布式体系架构相关问题②. 分布计算技术相关问题



五、数据存储

  1. CAP 理论


    ①. 什么是 CAP?②. CAP 选择策略及应用

  2. 分布式数据存储系统——三要素


    ①. 什么是分布式数据存储系统?②. 分布式数据存储系统三要素

  3. 数据分布方式——哈希与一致性哈希


    ①. 数据分布设计原则②. 数据分布方法③. 哈希④. 一致性哈希⑤. 四种数据分布方法对比

  4. 分布式数据复制技术


    ①. 什么是数据复制技术?②. 数据复制技术原理及应用③. 同步复制技术原理及应用④. 异步复制技术原理及应用⑤. 半同步复制技术原理及应用⑥. 三种数据复制技术对比

  5. 分布式数据——缓存技术


    ①. 什么是分布式缓存?②. 分布式缓存原理③. Redis 分布缓存原理④. Memcached 分布式缓存原理



六、高可靠

  1. 分布式高可靠——负载均衡


    ①. 什么是负载均衡?②. 服务请求的负载均衡方法③. 轮询策略④. 随机策略⑤. 哈希和一致性哈希策略

  2. 分布式高可靠——流量控制


    ①. 什么是流量控制?②. 分布式系统流里控制策略③. Sentine 流里控制工作原理

  3. 分布式高可用——故障隔离


    ①. 什么是故障隔离?②. 分布式故障隔离策略③. 线程级隔离④. 进程级隔离⑤. 资源隔离⑥. 故障隔离策略综合对比

  4. 分布式高可用——故障恢复


    ①. 分布式故障基础知识②. 分布式故障检测原理③. 故障恢复策略

  5. 如何判断并解决网络分区问题?


    ①. 什么是网络分区?②. 如何判断是否发生了网络分区?③. 网络分区最微妙的地方在哪里?④. 网络分区出现概率较高的场景是什么?⑤. 网络分区有哪些常见的处理方法?



学习感言

这些年,分布式框架越用越成熟,越用越广泛。几前年还只是架构师和高级开发的面试必考题,现在已经连应届生都要面对了。

用户头像

钟奕礼

关注

还未添加个人签名 2021-03-24 加入

还未添加个人简介

评论

发布
暂无评论
一线大厂为什么面试必问分布式?_Java_钟奕礼_InfoQ写作社区