logo

如何实现相对排行榜(Relative Leaderboard),即获取某个玩家周围的排名玩家?请说明流程与 Redis 查询方式。

How do you implement a relative leaderboard to fetch surrounding players around a given player? Explain the workflow and Redis queries.

题目类型: 技术面试题

这是一道技术面试题,常见于澳洲IT公司面试中。

难度: hard

分类: redis, system-design

标签: relative-leaderboard, zrevrank, zrevrange, surrounding-players

参考答案摘要

TL;DR 相对排行榜的核心是:先用 ZREVRANK 获取玩家 rank,然后用 ZREVRANGE 取 rank±N 的区间返回周边玩家。例如要取前后 5 名,则区间为 [rank-5, rank+5] 。 实现流程 调用 ZREVRANK 获取目标玩家的排名(0-based)。 根据排名计算上下区间(例如 rank-5 到 rank+5 )。 调用 ZREVRANGE 获取该区间内玩家列表(...

本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。

← 返回面试题库

如何实现相对排行榜(Relative Leaderboard),即获取某个玩家周围的排名玩家?请说明流程与 Redis 查询方式。

Hardsystem-designdata-structures

想查看完整答案?

登录匠人学院学习中心,获取 STAR 格式回答和详细技术解析

前往学习中心查看答案