系统设计
文章平均质量分 95
绝不原创的飞龙
这个作者很懒,什么都没留下…
展开
-
系统设计面试的行家指南(下)
在本章中,我们提出了一个支持 Google Drive 的系统设计。强一致性、低网络带宽和快速同步的结合使设计变得有趣。我们的设计包含两个流程:管理文件元数据和文件同步。通知服务是系统的另一个重要组成部分。它使用长轮询来使客户端及时了解文件更改。和任何系统设计面试问题一样,没有完美的解决方案。每个公司都有其独特的限制,你必须设计一个系统来适应这些限制。了解设计和技术选择的权衡非常重要。如果还有几分钟,你们可以谈谈不同的设计选择。例如,我们可以从客户端直接将文件上传到云存储,而不是通过块服务器。原创 2024-01-27 23:02:56 · 1165 阅读 · 0 评论 -
系统设计面试的行家指南(中)
在这一章中,我们首先讨论了优秀爬虫的特征:可伸缩性、礼貌性、可扩展性和健壮性。然后,我们提出了一个设计方案,并讨论了关键部件。构建一个可伸缩的网络爬虫并不是一个简单的任务,因为网络非常庞大,充满了陷阱。尽管我们已经涵盖了许多主题,但我们仍然错过了许多相关的话题:服务器端渲染:许多网站使用 JavaScript、AJAX 等脚本动态生成链接。如果我们直接下载和解析网页,我们将无法检索动态生成的链接。为了解决这个问题,我们在解析页面之前先执行服务器端渲染(也称为动态渲染)[12]。原创 2024-01-27 23:01:04 · 1134 阅读 · 0 评论 -
系统设计面试的行家指南(上)
在这最后一步,面试官可能会问你几个后续问题,或者给你讨论其他要点的自由。这里有几个方向可以遵循:面试官可能希望你找出系统的瓶颈并讨论潜在的改进。永远不要说你的设计是完美的,没有什么可以改进的。总有需要改进的地方。这是一个展示你批判性思维并留下好的最终印象的好机会。给面试官回顾一下你的设计可能会有帮助。如果你提出了一些解决方案,这一点尤为重要。在长时间的谈话后,刷新面试官的记忆会很有帮助。错误案例(服务器故障、网络丢失等。)都是很有意思的话题。运营问题值得一提。如何监控指标和错误日志?如何铺开系统?原创 2024-01-27 22:56:10 · 1026 阅读 · 0 评论