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

请实现一个 LRU 缓存,要求 get 和 put 操作的时间复杂度均为 O(1)。

小红书后端开发专业服务编码实现问题拆解技术原理

考察说明

考察 LRU 缓存机制的掌握及哈希表与双向链表结合的设计能力

回答思路

  1. 说明使用哈希表实现 O(1) 查找,双向链表维护访问顺序
  2. 覆盖 get 命中时更新节点到头部,未命中返回 -1
  3. 覆盖 put 时已存在则更新值并移到头部,新键超过容量则淘汰尾部
  4. 边界处理:容量为 0 或 1,重复操作同一键
  5. 正确性:链表指针更新与节点删除不遗漏
本题已收录答题指导

本题附完整参考答案与评分标准

登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。