后端岗位面试题更新 2026-08-05

Redis 有序集合(ZSET)在底层是如何实现的?

恒生电子股份有限公司后端开发金融技术原理Redis

考察说明

考察对有序集合底层数据结构、跳表与压缩列表/紧凑编码的理解

回答思路

  1. 说明有序集合在元素少且值小时使用紧凑编码(如 zip list 或 listpack)
  2. 说明元素多或值大时使用跳表加哈希表实现
  3. 解释跳表按分值排序、支持范围查询,哈希表支持 O(1) 按成员查分值
  4. 说明跳表节点内冗余分值字段以支持 O(1) 获取成员分值的细节