一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 695|回复: 8
收起左侧

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

[复制链接] |试试Instant~ |关注本帖
GUIXIANG 发表于 2014-7-22 02:13:37 | 显示全部楼层 |阅读模式

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

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

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
突然想起来原来看过一个帖子,说是面试的时候问如何设计一个视频网站的客户端(假设是android客户端,大量视频在server存着),需要实现的功能有注册/登陆,支付,实时的视频通话,点播。由于视频很多,可能需要用到分布式。

这样的要求该怎么设计?或者哪位大侠记得类似的帖子,求给个链接。谢谢~


补充内容 (2014-7-22 02:15):
貌似分布式是backend的事情,客户端应该不需要考虑太多。。。
wizard19900509 发表于 2014-7-22 03:56:06 | 显示全部楼层
这个设计主要是产品设计还是软件内部设计?
回复 支持 反对

使用道具 举报

wizard19900509 发表于 2014-7-22 03:56:27 | 显示全部楼层
这个设计主要是产品设计还是软件内部设计?
回复 支持 反对

使用道具 举报

wizard19900509 发表于 2014-7-22 03:56:40 | 显示全部楼层
这个设计主要是产品设计还是软件内部设计?
回复 支持 反对

使用道具 举报

 楼主| GUIXIANG 发表于 2014-7-22 04:43:28 | 显示全部楼层
wizard19900509 发表于 2014-7-22 03:56
这个设计主要是产品设计还是软件内部设计?

都有吧,基本功能就是我说的那些,应该是侧重软件内部
回复 支持 反对

使用道具 举报

wizard19900509 发表于 2014-7-22 05:51:29 | 显示全部楼层
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端的用户直接视频通话,点播的话就是事先存好的视频,直接播放。
. 1point3acres.com/bbs
关于视频播放,android上常用的就是VideoView, MediaPlayer和Youtube API,一般是通过server获取一个URL,然后直接播放。不知道需不需要再实现压缩功能。

方便提供一个有类似功能的tutorial链接吗?
回复 支持 反对

使用道具 举报

wizard19900509 发表于 2014-7-22 07:03:35 | 显示全部楼层
GUIXIANG 发表于 2014-7-22 06:03
. 鐗涗汉浜戦泦,涓浜╀笁鍒嗗湴谢谢~

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

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

使用道具 举报

baiyan_305 发表于 2014-7-22 08:10:49 | 显示全部楼层
1.注册/登录,这些直接HTTP请求和服务器交互就好了。注册的时候用HTTP POST将注册资料发送给服务器。登录同理,将用户填写的用户名和密码POST给服务器验证。
.鏈枃鍘熷垱鑷1point3acres璁哄潧2.支付,这个直接调用支付服务商的SDK就可以了。
3.点播,这个用MediaPlayer就可以了。
4.视频通过,这个要配合Camera和AudioTracker。
. more info on 1point3acres.com
上述的MediaPlayer, Camera, AudioTracker, 都是Android现成的类,直接用就可以了。

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

IOS同理。
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-10 09:36

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

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