2025年软件开发工程师高级面试模拟题及答案详解.docxVIP

  • 3
  • 0
  • 约1.14万字
  • 约 36页
  • 2025-11-21 发布于福建
  • 举报

2025年软件开发工程师高级面试模拟题及答案详解.docx

第PAGE页共NUMPAGES页

2025年软件开发工程师高级面试模拟题及答案详解

一、编程题(共3题,每题20分)

题目1(20分):设计一个高效的LRU缓存系统

要求:

1.实现LRU(LeastRecentlyUsed)缓存类,支持以下操作:

-`LRUCache(intcapacity)`:初始化缓存容量

-`intget(intkey)`:获取键对应的值,如果不存在返回-1

-`voidput(intkey,intvalue)`:添加键值对,如果缓存已满则淘汰最久未使用的元素

限制:

-时间复杂度:`get`和`put`操作均为O(1)

-空间复杂度:O(capacity)

示例:

plaintext

LRUCachecache=newLRUCache(2);

cache.put(1,1);

cache.put(2,2);

cache.get(1);//返回1

cache.put(3,3);//去除键2

cache.get(2);//返回-1(未找到)

cache.put(4,4);//去除键1

cache.get(1);//返回-1(未找到)

cache.get(3);//返回3

cache.get(4);//返回4

题目2(20分):实现

文档评论(0)

1亿VIP精品文档

相关文档