编辑
2023-05-01
👨‍🎓 无限进步
00
请注意,本文编写于 780 天前,最后修改于 225 天前,其中某些信息可能已经过时。

目录

作者简介
目录
前言

image.png

作者简介

About the author: Alex Xu is an experienced software engineer and entrepreneur(/ˌɑːntrəprəˈnɜːr/). Previously, he worked at Twitter, Apple, Zynga and Oracle. He received his M.S. from Carnegie Mellon University. He has a passion for designing and implementing complex systems.
作者简介:Alex Xu是一位经验丰富的软件工程师和企业家。此前,他曾在Twitter,Apple,Zynga和Oracle工作。他在卡内基梅隆大学获得硕士学位。他对设计和实施复杂系统充满热情。

目录

System Design Interview: An Insider’s Guide FORWARD CHAPTER 1: SCALE FROM ZERO TO MILLIONS OF USERS CHAPTER 2: BACK-OF-THE-ENVELOPE ESTIMATION /ˈenvəloʊp/ CHAPTER 3: A FRAMEWORK FOR SYSTEM DESIGN INTERVIEWS CHAPTER 4: DESIGN A RATE LIMITER CHAPTER 5: DESIGN CONSISTENT HASHING CHAPTER 6: DESIGN A KEY-VALUE STORE CHAPTER 7: DESIGN A UNIQUE ID GENERATOR IN DISTRIBUTED SYSTEMS CHAPTER 8: DESIGN A URL SHORTENER CHAPTER 9: DESIGN A WEB CRAWLER CHAPTER 10: DESIGN A NOTIFICATION SYSTEM CHAPTER 11: DESIGN A NEWS FEED SYSTEM CHAPTER 12: DESIGN A CHAT SYSTEM CHAPTER 13: DESIGN A SEARCH AUTOCOMPLETE SYSTEM CHAPTER 14: DESIGN YOUTUBE CHAPTER 15: DESIGN GOOGLE DRIVE CHAPTER 16: THE LEARNING CONTINUES AFTERWORD
系统设计访谈:内幕指南 前言 第 1 章:从零扩展到数百万用户 第 2 章:粗略估计 第 3 章:系统设计访谈框架 第 4 章:设计速率限制器 第 5 章:设计一致哈希 第 6 章:设计键值存储 第 7 章:在分布式系统中设计唯一 ID 生成器 第 8 章: 设计 URL 缩短器 第 9 章: 设计网络爬虫 第 10 章:设计通知系统 第 11 章:设计新闻源系统 第 12 章:设计聊天系统 第 13 章:设计搜索自动完成系统 第 14 章:设计 YOUTUBE 第 15 章:设计谷歌云端硬盘 第 16 章:学习继续 后记

前言

We are delighted that you have decided to join us in learning the system design interviews. System design interview questions are the most difficult to tackle among all the technical interviews. The questions require the interviewees to design an architecture for a software system, which could be a news feed, Google search, chat system, etc. These questions are intimidating, and there is no certain pattern to follow. The questions are usually very big scoped and vague. The processes are open-ended and unclear without a standard or correct answer. 我们很高兴您决定加入我们,学习系统设计面试。系统设计面试问题是所有技术面试中最难解决的。这些问题要求受访者为软件系统设计一个架构,可以是新闻提要、谷歌搜索、聊天系统等。这些问题令人生畏,没有一定的模式可以遵循。这些问题通常范围非常大且模糊。这些过程是开放式的,不清楚,没有标准或正确的答案 Companies widely adopt system design interviews because the communication and problemsolving skills tested in these interviews are similar to those required by a software engineer’s daily work. An interviewee is evaluated based on how she analyzes a vague problem and how she solves the problem step by step. The abilities tested also involve how she explains the idea, discusses with others, and evaluates /ɪˈvæljueɪt/ and optimizes the system. In English, using “she” flows better than “he or she” or jumping between the two. To make reading easier, we use the feminine pronoun throughout this book. No disrespect is intended for male engineers. 公司广泛采用系统设计面试,因为在这些面试中测试的沟通和解决问题的技能与软件工程师日常工作所需的技能相似。根据受访者如何分析一个模糊的问题以及她如何逐步解决问题来评估受访者。测试的能力还涉及她如何解释想法、与他人讨论以及评估和优化系统。在英语中,使用“她”比使用“他或她”或介于两者之间更流畅。为了方便阅读,我们在整本书中使用女性代词。没有不尊重男性工程师的意思。 The system design questions are open-ended. Just like in the real world, there are many differences and variations in the system. The desired outcome is to come up with an architecture to achieve system design goals. The discussions could go in different ways depending on the interviewer. Some interviewers may choose high-level architecture to cover all aspects; whereas some might choose one or more areas to focus on. Typically, system requirements, constraints and bottlenecks should be well understood to shape the direction of both the interviewer and interviewee. /kən'streint/ 系统设计问题是开放式的。就像在现实世界中一样,系统中存在许多差异和变化。期望的结果是提出一个架构来实现系统设计目标。根据面试官的不同,讨论可以以不同的方式进行。一些面试官可能会选择高级架构来涵盖所有方面;而有些人可能会选择一个或多个领域来关注。通常,应充分了解系统要求、约束和瓶颈,以塑造面试官和受访者的方向 The objective of this book is to provide a reliable strategy to approach the system design questions. The right strategy and knowledge are vital to the success of an interview. This book provides solid knowledge in building a scalable system. The more knowledge gained from reading this book, the better you are equipped in solving the system design questions. 本书的目的是为系统设计提供可靠的策略问题。正确的策略和知识对于面试的成功至关重要。本书提供了构建可扩展系统的扎实知识。知识越多从阅读本书中获得的收获,你对解决系统设计的能力越好问题 This book also provides a step by step framework on how to tackle a system design question. It provides many examples to illustrate the systematic approach with detailed steps that you can follow. With constant practice, you will be well-equipped to tackle system design interview questions. 本书还提供了有关如何解决系统设计问题的分步框架。它提供了许多示例来说明系统方法以及您可以遵循的详细步骤。通过不断的练习,您将能够很好地应对系统设计面试问题。

本文作者:Eric

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!