问题是通过您在 Web 应用程序中所做的各种事情的整个设计方法,以便如果您在 Twitter 上关注数百万人,并且当您检查最新的 20 条推文时,您可以用最少的时间和最少的负载找到它资源。这是一个关于整个堆栈的开放式设计问题。
我的答案不完整(因为我无法完全回答这个问题)
由于我们谈论的是数百万用户,因此我们必须根据用户的地理位置对数据库进行分片,这个答案不被接受,因为在 twitter 中你真的不关注同一位置的人。有什么更好的方法可以实现这一目标?
由于大多数情况下 20 条最新推文是最重要的,因此每个用户维护一个缓存(链表),其中包含根据它们到达时间的最新推文。这也不被接受。
一般来说,我在这类设计问题上很弱,想知道你将如何解决它们?