征服系统设计题:如何设计Google Sheets


(bxyzz) #1

感觉刷算法已经刷到心累了?

那就来换一换胃口做一道统设计题吧!

我们来一起思考一下设计Google Sheets总共要分几步?

![](data:image/svg+xml;utf8,)

问题一:我们要用什么样的数据结构来存储呢?

问题二:如果有__circular dependent要怎么识别呢?

问题三:如果两人同时编辑的时候怎么办?

问题四:表内能存的最大数是什么?

问题五:网络的延迟要怎么应对?

![](data:image/svg+xml;utf8,)

这张图是整个Google Sheets设计的总体框架。

Bittiger的王牌Qinyuan老师,上周在直播中分别从这五个方向,带同学们从数据结构选择,可能遇到的算法问题预判,内存使用,多线程及其锁的设计,网络延迟及加速等问题入手从一个软件工程师的角度教你如何理解并设计一个系统。

没有看到直播的你不需要伤心,请点击:讲座回放 收看回放!

本文作者:Kiko J 更多精彩内容,欢迎访问官网 http://BitTiger.io 或关注 “论码农的自我修养” 微信公众号:bit_tiger