tiktok-240113
  1. 文档
tiktok-240113
  • 文档
    • README.md
  • 用户
    • 注册
      POST
    • 登录
      POST
    • 用户信息
      GET
    • 上传头像
      PUT
    • 获取 MFA qrcode
      GET
    • 绑定多因素身份认证(MFA)
      POST
    • 以图搜图
      POST
  • 视频
    • 视频流
      GET
    • 投稿
      POST
    • 发布列表
      GET
    • 热门排行榜
      GET
    • 搜索视频
      POST
  • 互动
    • 点赞操作
      POST
    • 点赞列表
      GET
    • 评论
      POST
    • 评论列表
      GET
    • 删除评论
      DELETE
  • 社交
    • 聊天
    • 关注操作
      POST
    • 关注列表
      GET
    • 粉丝列表
      GET
    • 好友列表
      GET
  1. 文档

README.md

注:2023-2024 年的考核由 golang 方向进行考核试点
文档最后更新日期:2024 年 7 月 28 日

设计说明#

我们编写这份 doc,是为了避免你陷入不必要且毫无个人成长的细枝末节泥潭中
这份接口文档被设计于 west2-online 的下半年综合考核,我们期望下半年的考核具备如下特性
1.
不重复编写CURD接口
2.
尽可能的对考核文档明晰
3.
更侧重于架构、实现、数据库性能、容器
4.
以单一项目贯穿全程,后续考核在项目基础上进行添加,修缮和重构
在下半年中,你会始终和这份接口文档相伴,而你也不需要继续编写额外的接口(除非接口文档有更新)

详细解释#

这份文档编写的较为详细,给出了接口的具体定义和一些要求,在接口说明中已经做了一些铺垫,这里主要是做一些详细解释

唯一标识符(ID)#

我们在接口中要求涉及到ID 的,JSON 必须是 string 类型,但是我们不对ID 内容做具体要求
即,你的 ID 可以是以下形式或其他形式,但只要保证输出时带引号即可
10000483675103821824000b9bd0ef6-d628-4821-bd86-936c35ec3055

功能完整性#

我们不要求你必须首先把功能全部实现,但要完成作业文本的最基础内容
以互动部分的评论为例,你可以先实现基础的评论功能,后续再添加子评论功能

数据库设计#

考虑到性能优化,你需要对数据库的设计有一定的功底,项目的数据库结构设计会作为后续考察的一个重点之一
但是你完全不需要一开始就尝试设计出一个性能非常优秀的结构,这是不需要的,你可以先完成一个最简单的表
然后开始逐步引入外键、索引、分区和事件等等
文档上会注明下一次答辩前需要做到的最低优化要求

架构与中间件#

我们鼓励初学者按照自己能力的提升逐步完善这个项目,以下是一个可能的情景
一开始最好以单体式实现这个项目的接口服务
你进行了一定的学习,你应当对性能有一定的理解,即使用缓存、异步或其他方式提升你的接口能力
你发现你项目的设计模式有问题,你或许需要进行重构
你发现你项目的一些逻辑存在问题/不够好,你或许需要更新你的逻辑
你发现你应当考虑你项目的架构,你或许需要将单体式修改为分布式
你需要考虑你项目的部署难度以及自动化程度,即你的开发效率
你发现你可以上一些中间件辅助项目,你开始为你的项目添加中间件
以上内容不分先后,以作业文档为最低要求,唯一不变的是你一直在做的都是这个项目
我们希望你一开始写的项目是一坨答辩,而最后在你自己不断的学习(和作业最低要求的 push)下将这个项目的复杂度、可维护性做的越来越好
下一页
注册
Built with