Logo

序言

用大约15分钟,一次解决一个问题,逐步学习系统设计。

概念

序言

用大约15分钟,一次解决一个问题,逐步学习系统设计。

引言

当我们需要设计一个系统来解决特定问题时,往往会面临两种相互冲突的策略:1)当前问题具有新颖性,此前从未有人解决过;2)问题并无新意,我们需要将其强行归入已知的解决方案模板中。

从某种意义上说,这两种策略处于完全相反的两端,而现实往往介于两者之间。一方面,我们必须深入理解系统的基本构成要素;另一方面,研究他人如何解决具体问题,有助于我们看清设计权衡,并判断哪些部分可以借鉴已有解决方案。我们之前关于系统设计的课程,正是从介绍现代系统的根本构建模块入手,并通过精心挑选的设计问题进行应用讲解。

在本课程中,我们将系统设计的学习提升到更高层次,通过分析一些精心挑选的经典系统来学习。我们将从基本原理出发(即明确问题本身,思考不同解决方案及其权衡与评估),以此作为学习工具。在此过程中,我们将掌握多种设计模式,并发现这些系统常常挑战传统的解决问题思路(因此具备创新性)。

注意: 本课程是我们的《深入掌握高级系统设计原理与实践》课程的精简版本。如果你时间紧张,可能因为临近面试,或只是想快速回顾设计中的关键要点,那么本课程非常适合你。我们估计每道题的复习时间在15到30分钟之间。

涵盖的设计问题

本课程将涵盖以下设计问题:

让我们开始吧!

设计问题