系统设计访谈-业内人事指南 《System Design Interview-An insider‘s guide》中文版

系统设计访谈-业内人事指南 《System Design Interview-An insider‘s guide》中文版_第1张图片

前言:
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 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.
公司广泛采用系统设计进行面试,因为在这些面试中需要软件工程师日常工作包含测试沟通和解决问题的技能。对被采访者的评价是基于她如何分析一个模糊的问题以及如何她一步一步地解决了这个问题。能力测试还包括她如何解释构思,与他人讨论,评估和优化系统。在英语中,使用" she "流动比“他或她”或在两者之间跳来跳去更好。为了使阅读更易,我们使用贯穿全书的女性代词。我无意冒犯男性工程师。

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.
系统设计问题是开放式的。就像在现实世界中一样,有很多系统中的差异和变化。期望的结果是想出一个架构实现系统设计目标。讨论可以以不同的方式进行这取决于面试官。一些采访者可能会选择高层架构来报道所有方面,然而有些人可能会选择一个或多个领域来关注。通常情况下,系统需求、限制和瓶颈应该被很好地理解来塑造方向面试官和被面试者。

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.
这本书的目的是提供一个可靠的策略来接近系统设计的问题。正确的策略和知识对面试的成功至关重要。
本书提供了构建可扩展系统的坚实知识。通过阅读本书,你就能更好地解决系统设计问题的问题。本书还提供了如何解决系统设计问题的一步步的框架。它提供了许多示例来说明系统方法的详细步骤可以遵循。通过不断的练习,你将能够很好地应对系统设计面试问题。

本文仅个人翻译学习引用,没有其他商业用途

作者简介:
Alex Xu是一位经验丰富的软件工程师和企业家。此前,他在
Twitter,苹果,Zynga和甲骨文。他在卡内基梅隆大学获得硕>士学位。他热衷于设计和实现复杂的系统。如果您想在新章节可用时收到通知,请订阅我们的电子邮件列表:
https://bit.ly/3dtIcsE欲了解更多信息,请联系[email protected]编辑:Paul Solomon

CHAPTER 1: SCALE FROM ZERO TO MILLIONS OF USERS

第1章 从零扩展到百万级用户

CHAPTER 2: BACK-OF-THE-ENVELOPE ESTIMATION

第2章 初略的估计

CHAPTER 3: A FRAMEWORK FOR SYSTEM DESIGN INTERVIEWS

第3章 面试系统设计框架

CHAPTER 4: DESIGN A RATE LIMITER

第4章 设计一个限速器

CHAPTER 5: DESIGN CONSISTENT HASHING

第5章 设计一致的哈希

CHAPTER 6: DESIGN A KEY-VALUE STORE

第6章 设计一个键值存储

CHAPTER 7: DESIGN A UNIQUE ID GENERATOR IN DISTRIBUTED SYSTEMS

第7章 设计一个键值存储

CHAPTER 8: DESIGN A URL SHORTENER

第8章 设计一个网址缩短器

CHAPTER 9: DESIGN A WEB CRAWLER

第9章 设计一个网络爬虫

CHAPTER 10: DESIGN A NOTIFICATION SYSTEM

第10章 设计一个通知系统

CHAPTER 11: DESIGN A NEWS FEED SYSTEM

第11章 设计一个新闻推送系统

CHAPTER 12: DESIGN A CHAT SYSTEM

第12章 设计一个聊天系统

CHAPTER 13: DESIGN A SEARCH AUTOCOMPLETE SYSTEM

第13章 设计一个自动搜索系统

CHAPTER 14: DESIGN YOUTUBE

第14章 设计一个自动搜索系统

CHAPTER 15: DESIGN GOOGLE DRIVE

第15章 设计一个谷歌驱动器

CHAPTER 16: THE LEARNING CONTINUES

第16章 学习还在继续

你可能感兴趣的:(系统架构,设计规范,面试)