大家好,我是 Gergely,欢迎阅读 Pragmatic Engineer Newsletter 的奖励问题。在每一期中,我都会通过工程经理和高级工程师的视角来探讨大型科技公司和高增长初创公司面临的挑战。

我的朋友 Alex Xu 两天前发布了《系统设计面试:内部指南:第2卷》。截至撰写本文,这本书是美国亚马逊上最畅销的计算机科学书籍,这也是有充分理由的。

这本书包含 13 个原创和深入的系统设计挑战,这些挑战在任何其他地方都没有涵盖。其中包括构建附近服务、附近朋友功能、谷歌地图、分布式消息队列、度量监控和警报、酒店预订系统、实时游戏排行榜、数字钱包、股票交易所等。

在书籍发布之前,我有机会阅读了这本书,我对这本书的深度和细节感到印象深刻。

在读完并评论了原版《系统设计面试》后,我与 Alex 建立了联系,他刚开始准备第二版。Alex 曾 在 Zynga、苹果和 Twitter 工作,然后放弃了全职工作,全身心投入到了写作第一版书中。对于这个第二版,他拉来了共同作者 Sahn Lam,后者曾在 Discord、Zynga 和 NetApp 工作过。他们两个人花了 1.5 年的时间撰写了这本书,并从 Amazon、Google、eBay、Instacart、Tencent、Twitter、Microsoft、Airbnb、TikTok 等经验丰富的工程师那里得到了反馈和评论。

每个章节分为四个步骤:

  1. 了解问题并确定设计范围。
  2. 提出高层设计并获得认可。
  3. 深入设计。
  4. 总结。

Alex 很慷慨地同意与通讯读者分享本书的一整章。我选择了支付系统章节,因为在 Uber 工作多年,我一直在研究支付系统,构建支付系统需要了解诸如支付服务、支付执行器、PSP(支付服务提供商)、分类账或钱包等术语。

在 Alex 撰写该章节时,我也进行了审查。实际情况是,一本书无法涵盖构建支付系统的 所有真实情况。然而,这份摘要在简洁和足够深入之间做得非常出色。我不得不通过工作中、询问和试错的方式学习 Alex 所涵盖的大部分内容。

本期将涵盖以下主题-直接来自这本书:

步骤 1:了解问题

  • 功能需求
  • 非功能性需求
  • 信封背面估算

步骤 2:高层设计

  • 支付服务
  • 支付执行器
  • 支付服务提供商
  • 卡方案
  • 分类账
  • 钱包
  • 双重记账系统

步骤 3:深入设计

  • PSP 集成
  • 对账
  • 处理处理延迟
  • 处理失败的付款
  • 精准一次交付
  • 一致性
  • 支付安全

步骤 4:总结

如果您发现这一章有用,请获取《系统设计面试:第2卷》:

系统设计面试指南:深入剖析支付系统 - Pragmatic Engineer Newsletter

原文地址: https://www.cveoy.top/t/topic/nelt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录