2026年软件开发工程师面试专业能力测试题.docxVIP

  • 1
  • 0
  • 约5.25千字
  • 约 15页
  • 2026-09-10 发布于福建
  • 举报

2026年软件开发工程师面试专业能力测试题.docx

第PAGE页共NUMPAGES页

2026年软件开发工程师面试专业能力测试题

一、编程实现题(共3题,每题20分,总计60分)

1.题1(20分):实现一个简单的LRU缓存机制

背景:LRU(LeastRecentlyUsed)缓存是一种常用的数据结构,用于存储最近最少使用的缓存项。请实现一个LRU缓存类,支持以下操作:

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

-`get(intkey)`:获取键对应的值,如果键不存在返回-1。如果存在,则将这个键值对移动到缓存最前面(表示最近使用过)。

-`put(intkey,intvalue)`:插入或更新键值对。如果缓存已满,则删除最久未使用的缓存项后再插入。

要求:

-使用双向链表和哈希表实现,时间复杂度为O(1)。

-提供Python或Java代码实现。

参考答案(Python实现):

python

classNode:

def__init__(self,key=0,value=0):

self.key=key

self.value=value

self.prev=None

self.next=None

classLRUCache:

def__init__(self,capacity:int):

self.capacity=capac

文档评论(0)

1亿VIP精品文档

相关文档