Logo
Section 1 / 17

项目描述:推特(Twitter)

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

导入

项目描述:推特(Twitter)

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

简介

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

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

问题描述

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

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

功能需求

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

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

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

  • 特性 #3:识别用户推文互动人数最多的时段。

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

  • 特性 #5:通过分析某一天全球范围内的热门推文,追踪当前的热门话题标签(hashtags)。

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

  • 特性 #7:给定一个列表,记录某些人在每日推文中使用的标签,将使用相同标签组合的用户分组,并返回这些用户及其使用该标签组合的日期。

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

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

移动运营商(AT&T)

功能 #1:添加点赞