用什么数据结构来实现facebook的帖子和评论?

时间:2013-04-18 08:29:28

标签: data-structures

这是我的一个java面试问题......

我被问到你会使用哪种数据结构来实现Facebook帖子,比如和评论?

我很想听听所有成员的看法......

1 个答案:

答案 0 :(得分:0)

对于数据库来说,这实际上是一项任务(注意下面的内容有多复杂,与this相比(因为下面的所有内容都是通过适当的索引来处理正确的数据库)),但是......

注意我假设只有帖子可以被喜欢并且评论是针对帖子的。

<强>文章:

帖子可能是帖子ID到发布对象的地图

如果您想查看用户发布的帖子列表,您还需要用户ID地图到一组帖子ID

<强>喜欢:

您希望快速获得每个帖子的相似数量,并查看用户是否喜欢帖子,因此将帖子ID地图设置为一组用户ID 。 p>

如果您还想快速查看用户喜欢哪些内容,则需要另一种数据结构 - 用户ID地图到一组帖子ID

<强>注释:

评论可能评论对象的评论ID地图。连接的帖子ID将存储在评论对象中。

您希望快速获得每篇帖子的评论,因此将帖子ID地图设置为一组评论ID

如果您还想快速查看用户发表的评论列表,则需要另一种数据结构 - 用户ID地图到一组评论ID