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

请实现一个 LRU(最近最少使用)缓存,要求支持 get 和 put 操作,且 get 和 put 的平均时间复杂度为 O(1)。

腾讯云智研发百度后端开发互联网/IT专业服务编码实现问题拆解技术原理

考察说明

考察 LRU 缓存的数据结构设计和 O(1) 操作实现能力

回答思路

  1. 明确 LRU 语义:最近被访问的键应被保留,最久未访问的键被淘汰
  2. 选用哈希表加快访问,双向链表维护访问顺序
  3. 说明 get 命中时如何移动节点到链表头部,未命中返回 -1
  4. 说明 put 时若键已存在更新值并移动节点,若容量满则淘汰链表尾部
  5. 考虑边界情况:容量为 0、键重复、并发访问(如适用)
本题已收录答题指导

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

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