使用django建立一个玩家分数排行榜服务,服务向客户端提供两个接口:
客户端上传客户端号和分数(注意:并不会上传排名,客户端无法上传排名),同一个客户端可以多次上传分数,取最新的一次分数 客户端查询排行榜
例子说明 10个客户端分别调用一次接口1,分数范围为1...10000000 其中第5个客户端调用一次接口2,输出为下图所示 接口2说明:
- 可以查询任何名次段,例如可以查询排名20~30的表格
- 每次查询的最后,都要附加上调用接口的客户端的排名,如例子所示为客户端5的排名被附加到了最后
排名 | 客户端 | 分数 |
---|---|---|
1 | 客户端1 | 9999999 |
2 | 客户端2 | 9500112 |
3 | 客户端3 | 9233333 |
4 | 客户端4 | 5445444 |
5 | 客户端5 | 3453452 |
6 | 客户端6 | 2342342 |
7 | 客户端7 | 66666 |
8 | 客户端8 | 66666 |
9 | 客户端9 | 76 |
10 | 客户端10 | 75 |
5 | 客户端5 | 345345 |
任务说明
自己在个人github或者gitee上建立代码仓库 自己设计接口地址,参数,返回值,并实现接口 自己设计测试用例,完成接口后,自己测试,并使用git提交代码,将测试结果以及仓库地址给面试官看
比较两个版本号 version1 和 version2。 如果 version1 > version2 返回 1,如果 version1 < version2 返回 -1, 除此之外返回 0。
你可以假设版本字符串非空,并且只包含数字和 . 字符。
. 字符不代表小数点,而是用于分隔数字序列。
例如,2.5 不是“两个半”,而是第二版中的第五个小版本。
你可以假设版本号的每一级的默认修订版号为 0。例如,版本号 3.4 的第一级(大版本)和第二级(小版本)修订号分别为 3 和 4。其第三级和第>四级修订号均为 0。
示例 1:
输入: version1 = "0.1", version2 = "1.1" 输出: -1 示例 2:
输入: version1 = "1.0.1", version2 = "1" 输出: 1 示例 3:
输入: version1 = "7.5.2.4", version2 = "7.5.3" 输出: -1 示例 4:
输入:version1 = "1.01", version2 = "1.001" 输出:0 解释:忽略前导零,“01” 和 “001” 表示相同的数字 “1”。 示例 5:
输入:version1 = "1.0", version2 = "1.0.0" 输出:0 解释:version1 没有第三级修订号,这意味着它的第三级修订号默认为 “0”。
提示:
版本字符串由以点 (.) 分隔的数字字符串组成。这个数字字符串可能有前导零。 版本字符串不以点开始或结束,并且其中不会有两个连续的点。
Answer: 在common/utils.py 文件中