跳转到主要内容

27 含有标签「system design」

Posts tagged "system design" on TianPan.co.

查看所有标签

·tian

再窥iOS架构模式

深入了解 iOS 架构模式——MVC、MVP、MVVM 和 VIPER——从职责分配、可测试性和可维护性三个维度进行评估。

architecture
mobile
system design
·tian

设计Facebook图片存储系统

Facebook做图片存储的原因有两个:PB级别的Blob数据量;传统的基于NFS的设计都存在元数据瓶颈,庞大的元数据严重限制了它的命中率。解决方案是把数以十万计的图像聚集到单个Haystack存储文件中,从而消除了元数据负荷。

system design
·tian

如何使用HTTP协议向移动设备传输视频? HTTP Live Streaming (HLS)

使用HTTP直播流的移动视频播放服务有以下两个问题:手机的内存和外存有限;受制于不稳定的网络连接以及不同的带宽,需要在传输过程中动态调整传输视频的质量。我们可以通过服务器层面和客户端两个层面解决。

interview
system design
·tian

设计一个短网址系统

设计一个系统,可以将用户给的网址变成短网址,用户使用这些短网址可以访问他们原来给的长网址。系统是怎么运作的,需包括但不限于下面的问题:如何分配短网址;如何存储短网址和长网址的映射关系;如何实现跳转服务;如何存储访问数据。

system design
·tian

通过失效转移提高系统可用性

通过失效转移提高系统可用性的策略概述:冷备份、温备份和热备份,以及主主和主从配置。

system design
·tian

Lambda 架构

使用Lambda可以解决大数据所带来的三个问题:准确性(好);延迟(快);吞吐量(多)。lambda 架构可以指导我们如何为一个数据系统实现扩展。

architecture
system design
·tian

跳跃表

跳跃表本质上是一个允许对其进行二分搜索的链表。它实现这一点的方法是添加额外的节点,使你能够“跳过”链接列表的部分。对于给定一个正反随机数来创建额外的节点,跳跃表具有O(logn)复杂度的查询、插入和删除。

data structures
system design
·tian

布隆过滤器

布隆过滤器是一种数据结构,用于以远高于其他一般算法的空间和时间效率来检索一个元素是否在一个集合中。使用布隆过滤器获得的结果,可能为假阳性匹配,但不可能为假阴性匹配。元素可以添到集合中,但不能删除;添到集合中的元素越多,误报的可能性越大。

data structures
system design
·tian

过往工作经验面试

过往工作经验面试指南:如何生动描述项目经历、突出挑战、展示学习成果与领导力。

system design
·tian

什么是 Apache Kafka?

Apache Kafka是一个分布式流平台。它的特点包括分布式发布-订阅(pub-sub)消息传递系统,可将N ^ 2的关系简化成N,发布者和订阅者可以按自己的速率运行;超快速的零复制(zero-copy)技术;支持可容错的数据持久化。

system design
·tian

Facebook如何存储大规模社交图谱(graph)?TAO

在Memcached中更新社交图谱的边列表操作效率太低, 客户端管理缓存的逻辑很复杂,很难维持数据库读在写之后这种一致性。如何解决这三个问题:加快读操作,高效处理大规模的读;及时完成写操作;提高读操作的可用性。

system design
·tian

如何使用幂等性设计出高可靠的API?

为什么API会不可靠?网络会出错,服务器会出错。解决这个问题的三个原则:客户端用“重试”来保证状态的一致性;重试的请求里要有幂等的唯一性ID;重试要负责任,比如遵循指数退避算法,因为不希望一大波客户端同时重试。

system design
显示第 13–24 篇,共 27 篇