Logo
Section 1 / 22

项目描述:Facebook

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

导入

项目描述:Facebook

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

简介

Facebook 是全球最大的社交媒体公司。该公司还拥有 Instagram 等其他社交媒体平台,Facebook 的工程团队持续探索在各个平台之间更高效地连接用户的方法。这使得用户能够通过彼此的连接在所有平台上分享和查看内容。

本章讨论的场景和问题涉及 Facebook 在不同平台间的内容分享与浏览功能,以及如何对其进行优化。

问题描述

假设你是 Facebook 工程团队的一名开发者。你的团队需要提升各“姊妹”平台之间的集成度。集成过程中一个关键关注点是通过高效的代码、API 请求频率限制,以及消除同一用户在不同平台上的重复请求来实现操作效率。此外,团队还被要求借此机会实现检测潜在违规内容的功能。

功能需求

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

  • 功能 #1:找出 Facebook 上属于某用户好友圈的所有人。

  • 功能 #2:希望将该用户在 Facebook 上的好友也推荐给 Instagram 用户。由于 Instagram 是独立平台,其所有关联关系需复制到独立的数据库中。

  • 功能 #3:同步 Facebook 的动态列表到 Instagram。

  • 功能 #4:限制用户的请求频率。同一请求在另一平台发起前,必须等待指定时间间隔后才能再次发送。

  • 功能 #5:识别被篡改的滥用词或粗俗词汇的变体,以便对包含这些词汇的帖子进行标记为不适当内容。

  • 功能 #6:将相似的无意义帖子归类聚合,从而发现其背后的编码规律。

  • 功能 #7:对用户发帖内容进行模式挖掘需在高性能集群上完成。你需要提出一种最优的帖子分配方案,使集群节点的处理能力得到充分利用。

  • 功能 #8:找出用户提及的主题中最短的连续序列,该序列与好友提及的主题存在重叠。

  • 功能 #9:为了向 Instagram 用户推荐广告,我们希望使用 Facebook 的推荐决策树。已知原始决策树以先序遍历和中序遍历的形式序列化存储,需要重建该决策树。

理解这些功能需求并设计相应的解决方案,将有助于我们将所需功能整合进 Facebook 系统。

在接下来的课程中,我们将讨论这些功能的推荐实现方式。在开始之前,建议你先思考如何实现这些功能。你可能会意识到其中隐藏的基础问题,而解决这些问题的方法同样适用于常见的编程面试题。

Netflix

功能一:好友圈子