编辑
2023-06-06
👨‍🎓 无限进步
00

CHAPTER 11: DESIGN A NEWS FEED SYSTEM

In this chapter, you are asked to design a news feed system. What is news feed? According to the Facebook help page, “News feed is the constantly updating list of stories in the middle of your home page. News Feed includes status updates, photos, videos, links, app activity, and likes from people, pages, and groups that you follow on Facebook” [1]. This is a popular interview question. Similar questions commonly asked are: design Facebook news feed, Instagram feed, Twitter timeline, etc. 在本章中,要求您设计一个新闻源系统。什么是动态消息?根据 Facebook帮助页面,“新闻提要是中间不断更新的故事列表 您的主页。动态消息包括状态更新、照片、视频、链接、应用活动和 来自您在Facebook上关注的人,页面和小组的喜欢“ [1]。这是一个流行的 面试问题。常见的类似问题是:设计Facebook新闻提要, Instagram feed、Twitter timeline 等。
编辑
2023-06-06
👨‍🎓 无限进步
00

CHAPTER 10: DESIGN A NOTIFICATION SYSTEM

A notification system has already become a very popular feature for many applications in recent years. A notification alerts a user with important information like breaking news, product updates, events, offerings, etc. It has become an indispensable part of our daily life. In this chapter, you are asked to design a notification system. A notification is more than just mobile push notification. Three types of notification formats are: mobile push notification, SMS message, and Email. Figure 10-1 shows an example of each of these notifications. 通知系统已经成为许多应用程序中非常流行的功能 近年来。通知会提醒用户重要信息,例如突发新闻, 产品更新、活动、产品等它已成为我们日常生活中不可或缺的一部分。 在本章中,要求您设计一个通知系统。 通知不仅仅是移动推送通知。三种类型的通知格式 分别是:移动推送通知、短信和电子邮件。图 10-1 显示了 这些通知中的每一个。
编辑
2023-06-05
👨‍🎓 无限进步
00

CHAPTER 9: DESIGN A WEB CRAWLER

In this chapter, we focus on web crawler design: an interesting and classic system design interview question. A web crawler is known as a robot or spider. It is widely used by search engines to discover new or updated content on the web. Content can be a web page, an image, a video, a PDF file, etc. A web crawler starts by collecting a few web pages and then follows links on those pages to collect new content. Figure 9-1 shows a visual example of the crawl process. 在本章中,我们重点介绍网络爬虫设计:一个有趣而经典的系统设计 面试问题。 网络爬虫被称为机器人或蜘蛛。它被搜索引擎广泛用于发现 网络上新增或更新的内容。内容可以是网页、图像、视频、PDF 文件等。网络爬虫首先收集一些网页,然后跟踪这些网页上的链接 页面以收集新内容。图 9-1 显示了爬网过程的直观示例。
编辑
2023-06-05
👨‍🎓 无限进步
00

CHAPTER 8: DESIGN A URL SHORTENER

In this chapter, we will tackle an interesting and classic system design interview question: designing a URL shortening service like tinyurl. 在本章中,我们将解决一个有趣而经典的系统设计面试问题: 设计一个像tinyurl这样的URL缩短服务。
编辑
2023-06-02
👨‍🎓 无限进步
00

CHAPTER 7: DESIGN A UNIQUE ID GENERATOR IN DISTRIBUTED SYSTEMS

In this chapter, you are asked to design a unique ID generator in distributed systems. Your first thought might be to use a primary key with the auto_increment attribute in a traditional database. However, auto_increment does not work in a distributed environment because a single database server is not large enough and generating unique IDs across multiple databases with minimal delay is challenging. Here are a few examples of unique IDs: 在本章中,您将被要求在分布式系统中设计一个唯一的 ID 生成器。 你首先想到的可能是在传统数据库中使用具有 auto_increment 属性的主键。但是,auto_increment在分布式环境中不起作用,因为单个数据库服务器不够大,并且跨多个数据库服务器生成唯一 ID 延迟最小的数据库具有挑战性。 以下是唯一 ID 的几个示例: