Designing good systems requires years of accumulation of knowledge. One shortcut is to dive into real-world system architectures. Below is a collection of helpful reading materials. We highly recommend you pay attention to both the shared principles and the underlying technologies. Researching each technology and understanding what problems it solves is a great way to strengthen your knowledge base and refine the design process. 设计好的系统需要多年的知识积累。一个捷径是深入了解现实世界的系统架构。以下是一系列有用的阅读材料。我们强烈建议您同时关注共享原则和基础技术。研究每种技术并了解它解决了哪些问题是加强知识库和完善设计过程的好方法。
In recent years, cloud storage services such as Google Drive, Dropbox, Microsoft OneDrive, and Apple iCloud have become very popular. In this chapter, you are asked to design Google Drive. Let us take a moment to understand Google Drive before jumping into the design. Google Drive is a file storage and synchronization service that helps you store documents, photos, videos, and other files in the cloud. You can access your files from any computer, smartphone, and tablet. You can easily share those files with friends, family, and coworkers [1]. Figure 15-1 and 15-2 show what Google drive looks like on a browser and mobile application, respectively 近年来,Google Drive,Dropbox,Microsoft OneDrive和Apple iCloud等云存储服务变得非常流行。在本章中,要求您设计Google云端硬盘。 在进入设计之前,让我们花点时间了解Google云端硬盘。Google 云端硬盘是一项文件存储和同步服务,可帮助您将文档、照片、视频和其他文件存储在云中。您可以从任何计算机,智能手机和平板电脑访问文件。您可以轻松地与朋友、家人和同事共享这些文件 [1]。图 15-1 和 15-2 分别显示了 Google 云端硬盘在浏览器和移动应用程序上的外观
In this chapter, you are asked to design YouTube. The solution to this question can be applied to other interview questions like designing a video sharing platform such as Netflix and Hulu. Figure 14-1 shows the YouTube homepage. 在本章中,您被要求设计YouTube。这个问题的解决方案可以应用于其他面试问题,例如设计视频共享平台,例如Netflix和Hulu。图 14-1 显示了 YouTube 主页。
When searching on Google or shopping at Amazon, as you type in the search box, one or more matches for the search term are presented to you. This feature is referred to as autocomplete, typeahead, search-as-you-type, or incremental search. Figure 13-1 presents an example of a Google search showing a list of autocompleted results when “dinner” is typed into the search box. Search autocomplete is an important feature of many products. This leads us to the interview question: design a search autocomplete system, also called “design top k” or “design top k most searched queries”. 在 Google 上搜索或在亚马逊购物时,当您在搜索框中输入内容时,系统会向您显示搜索词的一个或多个匹配项。此功能称为自动完成、提前键入、键入时搜索或增量搜索。图 13-1 显示了一个 Google 搜索示例,其中显示了在搜索框中键入“晚餐”时自动完成的结果列表。搜索自动完成是许多产品的重要功能。这就引出了面试问题:设计一个搜索自动完成系统,也称为“设计前k”或“设计前k个搜索最多的查询”。
In this chapter we explore the design of a chat system. Almost everyone uses a chat app. Figure 12-1 shows some of the most popular apps in the marketplace. 在本章中,我们将探讨聊天系统的设计。几乎每个人都使用聊天应用程序。 图 12-1 显示了市场上一些最受欢迎的应用。