
面试场景题
文章平均质量分 93
橙狮科技
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
面试场景题系列:设计news feed系统
在本章中,我们设计了一个1000万DAU的news feed系统。原创 2025-01-06 18:11:01 · 1398 阅读 · 0 评论 -
面试场景题系列:设计聊天系统
在本章中,我们展示了一个5000万DAU,支持一对一聊天和小型群组聊天功能的聊天系统架构。原创 2025-01-04 11:04:18 · 1402 阅读 · 0 评论 -
面试场景题系列:设计通知系统
本文帮助您构建一个每天发送数百万次通知的可扩展的系统。原创 2025-01-02 11:09:22 · 1343 阅读 · 0 评论 -
面试场景题系列:设计爬虫系统
爬虫开发的复杂性取决于我们想要支持的爬虫规模,它可以是一个小的学校项目,只需要几小时就可以完成,也可以是一个需要专业开发团队持续优化的巨型项目。本文将帮助你设计一个大型爬虫项目的核心系统。原创 2025-01-01 10:18:53 · 2339 阅读 · 0 评论 -
面试场景题系列:设计视频分享系统
在本章中,我们展示了类似YouTube的视频流媒体服务的架构设计。如果在面试的最后还有多余的时间,可以讨论下面的几个话题。•扩展API层:因为API服务器是无状态的,所以可以很容易地横向扩展API层。•扩展数据库:你可以谈论数据库复制和分片。•直播流媒体:指的是实时录制和广播视频。尽管我们的系统不是专门设计来进行直播的,但是直播和非直播流媒体有一些相似点,比如都需要对视频进行上传、编码和流式传输等操作。直播和非直播流媒体的显著区别有:◆ 直播有更高的延时要求,所以它可能需要使用不同的流媒体协议。原创 2024-12-31 12:37:38 · 595 阅读 · 0 评论 -
面试场景题系列:设计云盘系统
在本章中,我们提出了一个类似谷歌云盘的系统设计。强一致性、低网络带宽和快速同步,这些特性让这个设计很有趣。我们的设计包含两个流程:管理文件元数据和文件同步。通知服务是系统的另一个重要组成部分。它使用长轮询使客户端实时了解文件变更。和所有系统设计面试问题一样,这个问题没有完美解决方案。每个公司有特定的限制,而你必须设计一个满足这些限制的系统。了解设计的权衡和技术选择是重要的。如果面试的最后还剩几分钟时间,你可以讨论一下不同的设计选择。例如,我们可以从客户端直接将文件上传到云存储而不是通过块服务器上传。原创 2024-12-30 13:06:41 · 1212 阅读 · 0 评论 -
面试场景题系列:设计键值存储系统
本章讲了很多概念和技术。为了巩固你的记忆,下面的表6-2总结了分布式键值存储的特性和对应技术。原创 2024-12-29 10:43:25 · 1081 阅读 · 0 评论 -
面试场景题系列:设计URL短链
在本章中,我们将解决一个有趣且经典的系统设计面试问题:设计类似TinyURL的URL缩短器。原创 2024-12-28 17:46:24 · 1479 阅读 · 0 评论 -
面试场景题系列:设计指标监控和告警系统
在本文中,我们介绍了指标监控和告警系统的设计,讨论了数据收集、时间序列数据库、告警和可视化系统的高层级设计。我们还深入探讨了其中几个最重要的技术/组成部分:•收集指标数据的拉模型和推模型。•使用Kafka来扩展系统。•在时间序列数据库之上添加缓存层。•使用编码或者压缩算法来减小数据大小。•过滤和合并告警,使得值班开发人员不会被收到的告警数量压垮。原创 2024-12-27 10:19:59 · 1336 阅读 · 0 评论 -
面试场景题系列:设计支付系统
在本文中,我们讨论了收款流程、付款流程和实时卖家仪表板,深入讨论了重试、幂等性和一致性的话题。在本文的最后,我们还探讨了对支付错误的处理和支付安全。支付系统是极度复杂的。尽管我们已经探讨了很多话题,但是依然有很多其他值得讨论的话题未涉及。下面列出了一些有代表性的(而非所有的)有趣话题。•监控。监控关键指标是现代应用至关重要的部分。通过广泛的监控,我们可以回答像“特定支付方法的平均接受度如何?”“服务器CPU的使用率是多少?”这样的问题。我们可以在仪表板上创建和展示这些指标。•告警。原创 2024-12-26 11:02:15 · 1938 阅读 · 0 评论 -
面试场景题系列:分布式系统中的唯一ID生成器
在本文中,我们讨论了设计一个唯一ID生成器的不同方法:多主复制、UUID、工单服务器和类似推特Snowflake的唯一ID生成器。我们最后选择了Snowflake,因为它支持我们的所有用例,并且可以在分布式环境中扩展。原创 2024-12-25 15:47:27 · 1054 阅读 · 0 评论 -
面试场景题系列:设计限流器
在本文中,我们讨论了不同的流量限制算法及其优缺点。这些算法包括:•代币桶算法。•漏桶算法。•固定窗口计数器算法。•滑动窗口日志算法。•滑动窗口计数器算法。然后,我们讨论了系统架构、分布式系统中的限流器、性能优化和监控。同任何其他系统设计面试题类似,如果有时间,你还可以谈一谈下面的话题。•硬流量限制与软流量限制。硬流量限制是指请求数量不能超过阈值。软流量限制是指请求数量可以在短时间内超过阈值。•在不同层级做流量限制。在本文中,我们只讨论了在应用层(HTTP层,第7层)做流量限制。原创 2024-12-25 11:59:17 · 1228 阅读 · 0 评论 -
面试场景题系列:设计一致性哈希系统
在本章中,我们对一致性哈希进行了深入的讨论,包括为什么需要进行一致性哈希和它是怎么工作的。一致性哈希有如下好处:•添加或者移除服务器的时候,需要重新分配的键最少。•更容易横向扩展,因为数据分布得更均匀。•减轻了热点键问题。过多访问一个特定分区可能会导致服务器过载。想象一下,如果Katy Perry、Justin Bieber和Lady Gaga的数据都被存储在同一个分区上会是什么情形。一致性哈希通过使数据更均匀地分布来减轻这个问题。原创 2024-12-24 18:32:45 · 783 阅读 · 0 评论