设计 Gaming Leaderboard
设计一个游戏排行榜,支持实时 top K、好友榜、赛季重置、作弊用户过滤和历史榜单查询。假设 DAU 1000 万,峰值写入每秒 5 万。
参考思路
- 先拆需求:global top K、friend ranking、season reset、anti-cheat、history query。
- 写路径用 event ingestion + stream aggregation,读路径用 Redis sorted set / materialized ranking。
- 好友榜可按用户好友列表批量查 score 后排序,超大好友列表再做缓存。
- 补风险:作弊用户标记延迟、赛季切换一致性、热 key、历史榜单落盘和监控。
面试官主要看:读写路径是否分清,实时性、热榜缓存、重置和反作弊是否有取舍。
