搞定系统设计:面试敲开大厂的门

搞定系统设计:面试敲开大厂的门

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

一本关于系统设计的面试指南。

内容简介

系统设计面试被认为是所有技术面试中难度最大的面试,因为面试题的范围都非常广且模糊,其答案也是开放的,不存在标准答案或正确答案。

本书重点讨论了分布式系统中的常用组件和大型Web应用的系统架构,涵盖了几类常见的典型应用,包括聊天系统、视频流系统、文件存储系统(云盘)、支付系统等,旨在帮助读者掌握构建一个可扩展的系统所需的基础知识,为面试做好充分准备。

作为过来人,作者提出了应对面试题的“四步法”,即确定问题范围-总体设计-细节设计-总结,书中的案例基本上都是按照这个步骤进行解析的。这种独特的呈现方式,直接针对面试者在面试过程中可能遇到的问题,帮助他们厘清思路,有条不紊地作答。

通过本书,读者可以了解不同Web应用的系统设计方案的要点及采用的技术,据此查漏补缺,补齐自己知识体系中的短板,为面试成功增添更多的可能。而对于已经是架构师的读者而言,书中的案例将为他们提供新的思路和灵感,有助于他们在面试中更加从容地展现自己的设计思路和实践经验。

作者简介

作者Alex Xu,卡耐基梅隆大学硕士,曾在Twitter、苹果和Zynga等公司工作。热衷于设计和实现复杂的系统。

章节目录

版权信息

内容简介

译者序

前言

1 从0到100万用户的扩展

1.1 单服务器配置

1.2 数据库

1.3 纵向扩展vs.横向扩展

1.4 负载均衡器

1.5 数据库复制

1.6 缓存

1.7 内容分发网络

1.8 无状态网络层

1.9 数据中心

1.10 消息队列

1.11 记录日志、收集指标与自动化

1.12 数据库扩展

1.13 用户量达到甚至超过了100万

2 封底估算

2.1 2的幂

2.2 每个程序员都应该知道的操作耗时

2.3 可用性相关的数字

2.4 案例:估算推特的QPS和存储需求

2.5 小技巧

3 系统设计面试的框架

3.1 有效的系统设计面试的四个步骤

3.2 面试中每一步的时间分配

4 设计限流器

4.1 第一步:理解问题并确定设计的边界

4.2 第二步:提议高层级的设计并获得认同

4.3 第三步:设计继续深入

4.4 第四步:总结

5 设计一致性哈希系统

5.1 重新哈希的问题

5.2 一致性哈希

5.3 总结

6 设计键值存储系统

6.1 理解问题并确定设计的边界

6.2 单服务器的键值存储

6.3 分布式键值存储

6.4 总结

7 设计分布式系统中的唯一ID生成器

7.1 第一步:理解问题并确定设计的边界

7.2 第二步:提议高层级的设计并获得认同

7.3 第三步:设计继续深入

7.4 第四步:总结

8 设计URL缩短器

8.1 第一步:理解问题并确定设计的边界

8.2 第二步:提出高层级的设计并获得认同

8.3 第三步:设计继续深入

8.4 第四步:总结

9 设计网络爬虫

9.1 第一步:理解问题并确定设计的边界

9.2 第二步:提议高层级的设计并获得认同

9.3 第三步:设计继续深入

9.4 第四步:总结

10 设计通知系统

10.1 第一步:理解问题并确定设计的边界

10.2 第二步:提议高层级的设计并获得认同

10.3 第三步:设计继续深入

10.4 第四步:总结

11 设计news feed系统

11.1 第一步:理解问题并确定设计的边界

11.2 第二步:提议高层级的设计并获得认同

11.3 第三步:设计继续深入

11.4 第四步:总结

12 设计聊天系统

12.1 第一步:理解问题并确定设计的边界

12.2 第二步:提议高层级的设计并获得认同

12.3 第三步:设计继续深入

12.4 第四步:总结

13 设计搜索自动补全系统

13.1 第一步:理解问题并确定设计的边界

13.2 第二步:提议高层级的设计并获得认同

13.3 第三步:设计继续深入

13.4 第四步:总结

14 设计视频分享系统

14.1 第一步:理解问题并确定设计的边界

14.2 第二步:提议高层级的设计并获得认同

14.3 第三步:设计继续深入

14.4 第四步:总结

15 设计云盘

15.1 第一步:理解问题并确定设计的边界

15.2 第二步:提议高层级的设计并获得认同

15.3 第三步:设计继续深入

15.4 第四步:总结

16 设计支付系统

16.1 第一步:理解问题并确定设计的边界

16.2 第二步:提议高层级的设计并获得认同

16.3 第三步:设计继续深入

16.4 第四步:总结

17 设计指标监控和告警系统

17.1 第一步:理解问题并确定设计的边界

17.2 第二步:提议高层级的设计并获得认同

17.3 第三步:设计继续深入

17.4 第四步:总结

18 继续学习

后记

搞定系统设计:面试敲开大厂的门是2023年由电子工业出版社出版,作者Alex Xu。

得书感谢您对《搞定系统设计:面试敲开大厂的门》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
MIMO多天线系统与天线设计 电子书
本书深入剖析多天线系统技术与应用,适合专业技术人员及高校师生阅读。
盾构推进系统布局设计方法 电子书
有效解决复杂地质条件下的施工难题。
高压直流输电系统设计 电子书
本书共分15章,具体包括概述、直流输电系统主回路及额定值、直流输电系统的运行控制、无功补偿和电压控制、交流滤波器、直流滤波器、直流偏磁、过电压与绝缘配合、高频干扰的抑制、可听噪声、保证损耗、可靠性和可用率、换流站一次设备技术规范、换流站控制保护系统、辅助系统设计要求。
城市绿道系统优化设计 电子书
本书分概论、现象与设计方法、实践案例三章,主要内容包括:绿道的发展史、中国绿道设计时五个最重要的技术问题、绿道设计方法、珠江新城绿道改善建议等。
系统分析与设计 电子书
本书介绍系统分析与设计的原理、方法、技术、工具和应用,全书分4个部分,第1部分(第1章)从信息系统的设计模型、应用环境开始,介绍系统分析与设计的定义、过程与流行的技术方法;第2部分(第2~8章)是本书的重点内容,其中第2~4章分别从静态、动态和数据的角度讨论建模的方法和技术,第5~8章则分别从系统整体架构设计、类和包设计、人机界面设计及数据模式设计的角度讨论系统设计的方法和技术;第3部分(第9章)