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

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

腾讯音乐娱乐集团旷视后端开发人工智能编码实现问题拆解技术原理

考察说明

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

回答思路

  1. 明确使用哈希表加双向链表的组合来实现 O(1) 访问与删除
  2. 能正确实现 get 时命中节点移到链表头部及未命中返回 -1
  3. 能正确实现 put 时更新已有节点和容量满时淘汰末尾节点
  4. 能处理边界情况如容量为 0 或重复键
  5. 能分析各操作时间复杂度并解释为何选择该结构
本题已收录答题指导

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

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