原文:面试场景题:如何设计一个排行榜?

这是一个常见的面试场景题,考验的是面试准备范围的广度,见过就会答。 思路 基于数据库 如果之前没有遇见过,最容易想到的就是平时接触的最多的数据库排序。前端每隔一段时间调用接口去查询数据库,然后更新排行榜表。 在一个用户量非常的小的具体场景,这是可行的。 如果是一个游戏排行榜的话,随着游戏玩家的增加,达到千万用户级别的话,虽然可以扯什么查询慢就加索引,数据量大就分库分表,但这仍然不是一个特别好的方案 ...

2022-02-26 22:03 0 790 推荐指数:

查看详情

凉了呀,面试官叫我设计一个排行榜

这是why哥的第89篇原创文章 前两天,有一个读者给我发了一张图片。 我问:发什么肾么事了? 于是有了这样的对话: 他发的图,就是微信运动步数排行榜的截图: 其实扯了这么多,这就是个常见的面试场景:如何设计一个排行榜? 这个 ...

Wed Mar 03 03:53:00 CST 2021 3 1576
基于redis的排行榜设计和实现

前言:  最近想实现一个网页闯关游戏的排行榜设计, 相对而言需求比较简单. 秉承前厂长的训导: “做一件事之前, 先看看别人是怎么做的”. 于是乎网上搜索并参考了不少排行榜的实现机制, 很多人都推荐了redis的有序集(sorted set). 我觉得十分的赞, 技术方案很难在超越已有的模型 ...

Thu Dec 03 09:58:00 CST 2015 1 20275
排行榜的简单设计思路

前言 基于mysql SELECT ORDER BY 加索引 加缓存 借助redis 实时排行榜 实现原理 为什么 Redis 要用跳表来实现有序集合,而不是红黑树? 超过全国**%的用户 参考 TOC 前言 排行榜 ...

Sun Jun 28 07:38:00 CST 2020 0 1676
CPU排行榜

二代酷睿 三代酷睿 四代酷睿 五六代酷睿 七代酷睿 八代酷睿 九代酷睿 十代酷睿 三代锐龙 二代锐龙 一代锐龙 八代APU 七代APU 旧APU 推土机/打桩机 弈龙/速龙 线程撕裂者3990X 线 ...

Sun May 31 06:12:00 CST 2020 0 584
GitHub排行榜

GitHub本身提供了灵活的搜索功能,如果想更进一步做自己个性化功能展示,可以利用GitHub API,比如: 获取到用户排行旁根据关注数: https://api.github.com/search/users?q=followers:%3E1000&sorts ...

Sat Feb 02 21:15:00 CST 2019 0 899
微信小游戏排行榜设计技术梳理

要制作排行榜,我们需要使用一个数组totalGroup来存储同玩好友的数据,totalGroup中同玩好友数据格式如下: 当游戏完成时,玩家得分会上传至用户托管数据,totalGroup根据用户同玩好友托管数据进行更新,排行榜根据totalGroup中的数据进行渲染。 游戏各阶 ...

Tue Jun 11 02:24:00 CST 2019 1 727
游戏排行榜系统设计 -- 有感

需求: 1、玩家在点击穿/脱装备需要重新计算战斗力 2、玩家可以查看自己的战斗力及排名 3、战斗力前100名的玩家名称以及战斗力大小随时可以查询,且准确性100% 4、为了准确性,任意两个玩家同时查看 ...

Sat Feb 22 07:22:00 CST 2020 1 792
redis实现排行榜

1 前言 实现一个排版,我们通常想到的就是mysql的order by 简单粗暴就撸出来了。但是这样真的优雅吗? 数据库是系统的瓶颈,这是众所周知的。如果给你一张百万的表,让你排序做排行榜,花费的时间是十分可怕的。 不如缓存吧,order by的时候强制使用索引。但是这样真的优雅 ...

Fri Aug 09 00:14:00 CST 2019 1 1544
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM