北京求职路,感觉好难啊,, 2 天没一个面试邀请,上来就让给个 homework,,

2019-03-11 21:07:58 +08:00
 s609926202

寻求一下广大网友的援助吧,,贴出题目:

背景: 两台 linux 服务器 A 和 B,外网网络传输。 Linux 服务器 A 上,不定期会增加大容量数据,比如大量图片,视频和这些数据的数据库关联信息。服务器 A 上有 web 服务,用户会通过 A 服务器上的 web 服务,触发网页中的某个事件,将 A 服务中的这些新增图片和视频以及数据库信息,同步 /上传到 B 服务器中。 Linux 服务器 B,用于存储 A 中同步过来的数据和数据库信息。

限定:

  1. Php 语言
  2. 用户触发是一次触发,一次触发,同步所有数据,触发必须通过 web 网页上的按钮进行触发,同步由 php 进行
  3. 最好可以进行重复上传检查,多个 A 服务器上传,续传等设计

提示: 是服务器间同步,而不是 web 端上传,数据已经在 A 服务器上了。所以考虑 web 超时的问题。

笔试要求:

  1. 用任意方式提供该功能设计,设计规模无要求,满足需求即可
  2. 同步部分,A 和 B 的设计要详细描述所使用的技术,服务等
  3. web 触发的接口以及同步部分,需要有 php 真实代码

我有俩问题:

  1. 都服务器 A 和 B 了,同步内容怎么不是 rsync 呢,,,
  2. 都服务器 A 和 B 了,不用诸如 S3、OSS 之类的存储服务、
2266 次点击
所在节点    问与答
11 条回复
hoyixi
2019-03-11 21:15:43 +08:00
你做完了,代码拿走了,然后 不理你了,咋办?:)
s609926202
2019-03-11 21:19:31 +08:00
@hoyixi 我觉得这个倒不是问题,关键在怎么实现
k8ser
2019-03-11 22:22:37 +08:00
估计是这个公司遇到了问题自己解决不了,顺便就当面试题了,什么面试这么详细?还要真实 PHP 代码?
s609926202
2019-03-11 23:17:16 +08:00
@k8ser 总共 5 个问题,前三个一环套一环。最后 2 个一个写 git 开发流程,一个画中等规模网站架构图。
zingl
2019-03-12 01:20:51 +08:00
网页一个按钮启动 php exec rsync 增量备份
next question
hanbing135
2019-03-12 01:21:58 +08:00
感觉这是免费骗代码的吧
tyrealgray
2019-03-12 01:39:50 +08:00
这种规模的 homework 极其可能是骗方案的
xfspace
2019-03-12 02:02:05 +08:00
同步文件拿这个魔改就能用 https://github.com/outlandishideas/sync


用 PHP 同步数据库特么只能拿 binary logging 到 B call system 干吧
xfspace
2019-03-12 02:05:39 +08:00
这是舍不得买服务器
用虚拟主机当备份么

虚拟主机只有环境权限,没 shell
🌚
tomczhen
2019-03-12 03:15:34 +08:00
根据文件的数据库关联信息表主键作为同步标志,B 服务器需要记录所有 A 服务器的最后同步主键 ID 以及状态。

用户在 A 服务器触发任务后,先到 B 服务器获取最后同步的主键 ID,得到下一个同步文件信息。然后用文件信息调用 B 服务器接口,B 服务器根据调用信息下载 A 服务器文件,并记录同步状态,下载完成后,将文件信息写入数据库,更新最后同步主键 ID,接着回调 A 服务器。

A 服务器根据回调触发下一个同步,然后循环直到所有同步完成。

考虑到瓶颈应该是网络 IO,对于 A 服务器同步任务并发意义不大,B 服务器则可以根据需要控制并发任务。
tomczhen
2019-03-12 16:03:42 +08:00
题目二:
生成下载地址,celery 异步处理图片。打开下载地址,如果未处理完成则先显示处理状态,如果处理完成则跳转下载。

题目三:
上传时由前端生成缩略图一同上传。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/543467

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX