导入
项目描述:Zoom
简要了解“Zoom”并学习本项目中我们将实现的功能。
简介
Zoom 是一款广受欢迎的视频会议应用。除了个人使用外,全球各地的企业也利用 Zoom 来管理远程工作会议、举办虚拟活动等。Zoom 支持仅视频、仅音频或音视频结合的会议模式,并支持实时聊天功能。此外,它还允许用户录制会议内容,以便后续回看。
本章将讨论与 Zoom 参与者管理功能相关的情景和问题,并探讨如何实现这些功能。
问题描述
假设你正在为 Zoom 工作,负责参与者管理模块的开发。
首先,你需要为会议等候室的“画廊模式”实现分页功能,该功能需按字母顺序显示参会者姓名。其次,需要开发一个序列化/反序列化组件,用于在数据通过网络传输前进行序列化,在接收端进行反序列化。
随着团队面临居家办公带来的前所未有的挑战,他们经常参与远程趣味团队建设活动。在 Zoom,你希望贡献一份力量,将小型游戏集成到应用中。作为试点项目,你将从开发一个游戏开始。
功能需求
为了实现上述功能,我们需要引入以下特性:
-
功能 #1: 实现会议中参会者姓名展示的分页功能。
-
功能 #2: 实现从服务器向网络传输时对参会者数据的序列化,以及在客户端接收后进行反序列化。
-
功能 #3: 设计一个算法,用于解决小游戏中的问题——用户需要找出从一个点到达另一个点所需的最少步数。
-
功能 #4: 验证包含客户端参会者数据的二叉搜索树是否合法。
-
功能 #5: 为提升 Zoom 移动应用的响应速度,增加将显示图片顺时针旋转 90 度的功能。
接下来的课程将详细讲解这些功能及其具体实现方式。这些问题的解决方案同样适用于许多常见的编程面试题。