仿写百度网盘 | 面试问题总结
投票
#牛客帮帮团来啦!有问必答##牛客在线求职答疑中心#1.项目上线之后,在大量用户使用的背景下,我们可以在什么地方进行优化
2.如果用户上传的文件量已经超出我们的服务器容量限制了,我们除了加盘扩容之外,还有什么方式?
3.文件如果在上传的时候网络中断,如何确保再上传的时候在原来的进度上继续上传?我们是如何实现断点续传的?如果我们更换浏览器重新上传文件,还会有之前的上传进度吗?
4.文件秒传的时候发生MD5冲突怎么办?比如用户上传的是A文件,但是他与我们服务器中B文件的MD5值是一样的(哈希冲突),那么在这种场景下用户上传A,执行秒传逻辑后实际上存储的是B,我们如何优化这种哈希冲突?
5.同一个用户短时间内上传大量文件,导致我们的后端资源紧张,无法对其他用户的请求做正常处理,我们要如何解决这种问题?
6.文件预览是怎么实现的?
7.我们网盘中有多级目录,讲一下多级目录的实现和如何进行删除
8.如何实现文件分享的?为什么要这么做?还有没有其他的解决方案?
原项目视频链接:https://www.bilibili.com/video/BV1qV4y1d7zY/
不知道大家对于这些问题会怎么样回答
这个项目我感觉确实不错,自己可以写的拓展点也多,比如网盘的限速下载功能,大文件不分片实现断点上传功能。也不是那种简单的增删改查项目。推荐大家去写一下这个项目
2.如果用户上传的文件量已经超出我们的服务器容量限制了,我们除了加盘扩容之外,还有什么方式?
3.文件如果在上传的时候网络中断,如何确保再上传的时候在原来的进度上继续上传?我们是如何实现断点续传的?如果我们更换浏览器重新上传文件,还会有之前的上传进度吗?
4.文件秒传的时候发生MD5冲突怎么办?比如用户上传的是A文件,但是他与我们服务器中B文件的MD5值是一样的(哈希冲突),那么在这种场景下用户上传A,执行秒传逻辑后实际上存储的是B,我们如何优化这种哈希冲突?
5.同一个用户短时间内上传大量文件,导致我们的后端资源紧张,无法对其他用户的请求做正常处理,我们要如何解决这种问题?
6.文件预览是怎么实现的?
7.我们网盘中有多级目录,讲一下多级目录的实现和如何进行删除
8.如何实现文件分享的?为什么要这么做?还有没有其他的解决方案?
原项目视频链接:https://www.bilibili.com/video/BV1qV4y1d7zY/
不知道大家对于这些问题会怎么样回答
这个项目我感觉确实不错,自己可以写的拓展点也多,比如网盘的限速下载功能,大文件不分片实现断点上传功能。也不是那种简单的增删改查项目。推荐大家去写一下这个项目
全部评论
![](https://uploadfiles.nowcoder.com/files/20240329/120063338_1711681851542/light.png)
问题我都懂,我只是不懂答案而已
![](https://uploadfiles.nowcoder.com/files/20240329/120063338_1711681851542/light.png)
老罗的是吧,感觉这个项目不太适合新手写哇,他最近退出了一个仿微信的项目,蛮不错的,**********,老罗随时给你解答,蛮好的哈哈哈哈
。
搜狐畅游
校招火热招聘中
官网直投
![](https://uploadfiles.nowcoder.com/files/20240329/120063338_1711681851542/light.png)
这个项目感觉不太适合技术基础不太好的和思维理解稍微差点 的童鞋,写这玩意更多的是需要有自己的理解
这些问题都是关于百度网盘的优化和功能实现,可以看出你对这个项目有深入的了解和思考。
1. 项目上线后,我们可以从缓存、负载均衡、数据库优化等方面进行优化,以提高系统的性能和稳定性。
2. 如果用户上传的文件量超出服务器容量限制,除了加盘扩容,还可以考虑使用云存储、分布式文件系统等方案。
3. 实现断点续传通常需要客户端和服务器协同工作。客户端需要记录上传进度,并在重新上传时发送相应的信息。服务器需要根据客户端发送的信息,找到上次上传的位置,并从该位置继续上传。更换浏览器重新上传文件时,由于浏览器的Cookie或Session信息不同,可能会导致无法获取之前的上传进度。
4. 文件秒传时发生MD5冲突,可以通过添加一个随机数或时间戳作为文件的后缀,以区分不同的文件。
5. 对于同一个用户短时间内上传大量文件导致后端资源紧张的问题,可以考虑使用队列、限流、分布式处理等策略,以确保系统能够正常处理其他用户的请求。
6. 文件预览通常通过生成文件的缩略图或预览图来实现。客户端在上传文件时,可以同时生成这些预览图,并将其存储在服务器上。
7. 多级目录的实现通常通过在数据库中存储目录结构和文件信息来实现。删除多级目录时,需要递归地删除所有子目录和文件。
8. 文件分享可以通过生成分享链接或二维码来实现。分享链接或二维码中包含文件的唯一标识和访问权限信息。其他用户通过点击分享链接或扫描二维码,可以获得文件的访问权限。
这个项目确实不错,有很多可以拓展的功能和优化点。你可以根据自己的兴趣和能力,选择合适的拓展方向进行实践。
这是大佬实际面试中被问到的吗?会要讲具体流程吗?
![](https://uploadfiles.nowcoder.com/files/20240514/510894044_1715654316364/pingllunicon.png)
B站上这个项目视频是完整的吗,看到时长只有14个小时![](https://uploadfiles.nowcoder.com/images/20220815/318889480_1660553763490/62AF11E48344D159DA608796DA7D39E5)
m
![](https://uploadfiles.nowcoder.com/files/20240329/120063338_1711681851542/light.png)
校招吗,怎么这么难哇![](https://uploadfiles.nowcoder.com/images/20220815/318889480_1660553763890/5072FC474BC4CF9234FABC22E54A999A)
老哥写完这个项目大概用了多久
m
m
跟我做的网盘差不多
不错
大哥,只学习后端,这个老罗的网盘需要买源码吗?或者说视频就是全部代码了?
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享