Logo
Section 1 / 17

项目描述:推特(Twitter)

简要了解“Twitter”,并学习本项目中我们将实现的功能。

导入

项目描述:推特(Twitter)

简要了解“Twitter”,并学习本项目中我们将实现的功能。

简介

Twitter 是一个社交媒体平台,用户可以在上面发布并互动交流称为“推文”(Tweets)的消息。由于每条推文的文本长度最多为 280 个字符,Twitter 也被视为一种微型博客服务。Twitter 用户可以通过关注彼此来互动,从而查看对方发布的推文。他们还可以转发(Retweet)、评论或点赞其他推文。

本章讨论的场景和问题与 Twitter 的推文管理及推荐系统相关。

问题描述

假设你是 Twitter 工程团队的一名开发者,团队决定开发一些对外暴露的 API 接口,并构建可用于内部运作的模块。

部分功能涉及将来自多个来源的推文按时间顺序合并显示 feeds;另一些功能则与数据分析和推荐系统有关。

功能需求

为了实现上述功能,我们需要引入以下特性:

  • 功能 #1:创建一个 API,用于计算某位用户所有推文的总点赞数。

  • 功能 #2:实现一个模块,将某用户的推文按时间顺序插入到已填充的 Twitter 推文流中。

  • 功能 #3:识别用户推文获得最多互动人数的时间段。

  • 功能 #4:判断一组人是否可以被划分为两个组,使得同一组内的人互不关注对方;若可划分,则向同组成员推荐彼此。

  • 功能 #5:通过追踪某一天全球范围内的热门推文,持续记录热搜话题标签(hashtags)。

  • 功能 #6:在指定时间段内,计算用户数据的移动平均值,以动态调整部署的服务器数量。

  • 功能 #7:给定一个表示某些人每日推文中使用的话题标签的日志列表,将使用相同话题标签组合的用户分组,并返回这些用户及其使用该标签组合的日期。

理解这些功能需求并设计相应的解决方案,将有助于我们将所需功能集成到 Twitter 系统中。

在接下来的课程中,我们将讨论这些功能的推荐实现方式。在开始之前,建议你先思考如何实现这些功能。你可能会发现其中一些问题与常见的编程面试题有相似之处。解决这些问题的基本思路同样适用于其他典型的编码面试题目。

移动运营商(AT&T)

功能 #1:添加点赞