面试及其他领域的系统设计
跟随Mikhail Smarshchok教你真正的系统设计思维
除了系统设计概念的知识和理解之外,本课程还将教您系统设计背后的思维过程。
本课程提供什么?
- 70 多节课程涵盖流行且重要的系统设计概念。
- 超过 8 小时 的精心策划且引人入胜的视频内容。
- 真实的面试设计问题以及分步演练。
- 详细的解释可以帮助您开始用系统设计的语言进行表达和思考。
- 关于如何在面试和现实生活中解决系统设计问题的 现成蓝图。
在本课程中,我们设计一个消息系统来演示这些概念。从基础知识开始,我们将在整个课程中逐步发展系统,介绍和探索解决已定义问题的不同设计概念,深入研究每个概念的细节并讨论权衡。然后一遍又一遍地继续这个过程。通过遵循该过程,您将了解这些概念并了解它们如何将概念应用到实际案例中。
消息系统是学习系统设计概念的完美示例。如今,消息系统被用作许多分布式系统的构建块。分布式系统的各种较小组件使用消息传递系统相互通信。系统本身使用消息系统相互通信。这使得消息系统在系统设计中发挥着至关重要的作用。您将在课程中学习如何构建可靠、可扩展、安全、快速、易于维护且低成本的系统。然后应用知识来构建其他分布式系统。
您将不会局限于仅在消息传递系统中使用的设计原则。当研究特定的设计概念时,我们将超越消息系统如何使用它。这样您就可以看到有关如何在其他系统中使用此概念和类似概念的相关示例。
这门课程适合谁?
该课程对于中高级职位的工程师特别有用。它旨在使参与系统设计的专业人员受益,包括软件工程师、站点可靠性工程师、软件工程经理和产品经理。无论您是直接参与系统设计过程还是积极参与设计评审,本课程都将为您提供宝贵的知识和技能,帮助您为现场面试中的系统设计问题做好充分准备。
导师是谁
本课程是 Mikhail Smarshchok 与 某Code 团队合作的作品。Mikhail 是一名软件工程师,热衷于学习、教学和指导。他拥有超过 15 年的行业经验,过去 9 年致力于构建可扩展、高可用性和低延迟的分布式系统。
以下是 Mikhail 给 某Code读者的留言
很长一段时间以来,我一直想知道学习系统设计的最佳方法是什么。虽然有许多优秀的资源可用于学习单个概念,但很少有资源提供如何设计系统的整体视图。即使您投入了大量时间并获得了大量知识,仍然很难发展出真正的系统设计思维。思考这有助于回答以下问题:从哪里开始我的设计;下一步去哪里;如何将这个晦涩难懂的大问题分解为我知道如何解决的子问题;即使我不知道答案,我可以做出有根据的猜测吗?因此,我们与 某Code 团队一起,将创建一门有助于构建和改进系统设计思维的课程作为我们的使命。两年后,你就可以看到这项工作的成果。
常问问题
课程中有多少个模块?
“面试及其他系统设计”课程将分为 3 个模块。当前模块是三个模块中的第一个。
告诉我们有关这些模块的更多信息。
模块 1 重点介绍系统设计的基本概念。第 2 单元将涵盖更多这些概念以及一些更高级的主题。模块 3 将涵盖分布式系统的可维护性、安全性和成本等主题。
每个模块涵盖哪些具体主题?
有关当前(第一个)模块中涵盖的主题列表,请参阅上面的课程大纲。第二个模块将涵盖的主题包括复制、一致性、CAP 定理、领导者选举、协调服务、反向代理、API 网关、API 设计(REST 和 RPC)、负载均衡、缓存(分布式)、SQL 和 NoSQL数据库、其他数据存储、批处理、流处理、基于单元的架构、系统设计中流行的数据结构。如前所述,第三个模块将涵盖分布式系统的可维护性、安全性和成本等主题。
请告诉我们有关模块价格的更多信息。
每个模块将单独定价。您在此页面上看到的价格仅为第一个模块的价格。
如果我不喜欢课程,可以退款吗?
我们根据条件提供退款。如果您有任何疑问,请在此处联系支持团队。