查看: 2679| 回复: 8
跳转到指定楼层
上一主题 下一主题
收起左侧

[找工就业] [设计题]设计一个视频网站的移动客户端

全局:

2014(7-9月)-EE硕士+fresh grad 无实习或全职 | 网上海投| 码农类General全职@小公司

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
突然想起来原来看过一个帖子,说是面试的时候问如何设计一个视频网站的客户端(假设是android客户端,大量视频在server存着),需要实现的功能有注册/登陆,支付,实时的视频通话,点播。由于视频很多,可能需要用到分布式。
. Χ
这样的要求该怎么设计?或者哪位大侠记得类似的帖子,求给个链接。谢谢~
. 1point3acres.com

补充内容 (2014-7-22 02:15):
貌似分布式是backend的事情,客户端应该不需要考虑太多。。。

上一篇:求助:如果在微软校招实习职位时被拒,是否也有半年的冻结期?
下一篇:大家觉得一个在远方的远房亲戚能对自己找工作起到多大的作用?
全局:
这个设计主要是产品设计还是软件内部设计?
回复

使用道具 举报

全局:
这个设计主要是产品设计还是软件内部设计?
回复

使用道具 举报

全局:
这个设计主要是产品设计还是软件内部设计?
回复

使用道具 举报

🔗
 楼主| GUIXIANG 2014-7-22 04:43:28 | 只看该作者
全局:
wizard19900509 发表于 2014-7-22 03:56. 1point3acres
这个设计主要是产品设计还是软件内部设计?
-baidu 1point3acres
都有吧,基本功能就是我说的那些,应该是侧重软件内部
回复

使用道具 举报

全局:
GUIXIANG 发表于 2014-7-22 04:43
都有吧,基本功能就是我说的那些,应该是侧重软件内部

蛋疼 延迟一下就发了好多遍...
软件架构的话 我觉得需要熟悉framework才能答 对于这题起码要熟悉移动开发吧
基本内容的话 首先要有个API Manager 负责所有和server交互的http请求封装 一般会调用一些网络库 然后给其它模块提供接口
对于具体功能 注册/登录肯定是要有个UserManager模块 管理登录状态 本地用户信息存储 以及发送注册/登录的网络请求 UserInfo一般是设计成一个有一大堆setter和getter的类
支付的话 对于视频网站而言都是用第三方的SDK 客户端这里只需要做好封装 为其它模块提供支付接口即可
视频通话,点播我没太理解 这到底是个看视频的产品还是个视频聊天的客户端 不过共通的是要设计一个类 能提供接口 接收压缩的数据作为参数并转化成video stream给前端的播放器
对于App而言 每个view基本都要做成一个视图类 调用其它后台的类来实现功能 这个就根据具体需求一个个搞就是了. .и
做App基本设计流程就这个样子 我觉得面试时间里也不可能搞出什么fancy的设计来。。。
回复

使用道具 举报

🔗
 楼主| GUIXIANG 2014-7-22 06:03:45 | 只看该作者
全局:
wizard19900509 发表于 2014-7-22 05:51
蛋疼 延迟一下就发了好多遍...
软件架构的话 我觉得需要熟悉framework才能答 对于这题起码要熟悉移动 ...

谢谢~
.
您说的这个API Manager, android里面没有现成的类,是第三方或者自己实现的吧?用户注册/登陆/支付方面应该没多少能发挥的,直接用现成的就好。

视频通话和点播的功能都要求,记得当时说的要求,一部分用户会用这个客户端跟PC端的用户直接视频通话,点播的话就是事先存好的视频,直接播放。

关于视频播放,android上常用的就是VideoView, MediaPlayer和Youtube API,一般是通过server获取一个URL,然后直接播放。不知道需不需要再实现压缩功能。

. 方便提供一个有类似功能的tutorial链接吗?
回复

使用道具 举报

全局:
GUIXIANG 发表于 2014-7-22 06:03
谢谢~

.1point3acres您说的这个API Manager, android里面没有现成的类,是第三方或者自己实现的吧?用户注册/登陆/ ...

我也没啥tutorial。。。凭自己经验写的
API manager这种都是自己实现了 小项目可以直接写 稍微大点就得用个模块集中管理了
视频播放的话 压缩功能具体内容客户端肯定是不用实现的 视频压缩算法什么的都是现成的 和服务器的类型保持一致就行了 主要就是设计 要把和media类型相关信息之类的 能封就都封起来 外层知道的越少越好 这样以后才比较好extend
回复

使用道具 举报

🔗
baiyan_305 2014-7-22 08:10:49 | 只看该作者
全局:
1.注册/登录,这些直接HTTP请求和服务器交互就好了。注册的时候用HTTP POST将注册资料发送给服务器。登录同理,将用户填写的用户名和密码POST给服务器验证。
2.支付,这个直接调用支付服务商的SDK就可以了。
3.点播,这个用MediaPlayer就可以了。. 1point3acres
4.视频通过,这个要配合Camera和AudioTracker。

上述的MediaPlayer, Camera, AudioTracker, 都是Android现成的类,直接用就可以了。

难点应该是视频通话,其它功能都不难。

IOS同理。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表