软件开发工程师面试流程及题目预测.docxVIP

  • 0
  • 0
  • 约6.38千字
  • 约 19页
  • 2026-11-04 发布于福建
  • 举报

软件开发工程师面试流程及题目预测.docx

第PAGE页共NUMPAGES页

2026年软件开发工程师面试流程及题目预测

一、编程能力测试(15分,共3题)

题目1(5分):实现一个LRU缓存机制

题目描述:设计一个LRU(LeastRecentlyUsed)缓存系统,支持以下操作:

-`get(key)`:获取键`key`对应的值,如果键存在,则返回值并更新该键为最近使用;如果不存在,返回-1。

-`put(key,value)`:插入或更新键值对。如果键已存在,则更新其值并设置为最近使用;如果键不存在,则插入该键值对。当缓存容量达到限制时,淘汰最久未使用的键。

要求:

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

-可以假设键都是非负整数。

示例:

LRUCachelRUCache=newLRUCache(2);

lRUCache.put(1,1);//缓存是{1=1}

lRUCache.put(2,2);//缓存是{1=1,2=2}

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

lRUCache.put(3,3);//去除键2,缓存是{1=1,3=3}

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

lRUCache.put(4,4);//去除键1,缓存是{4=4,3=3}

lRUCache.get(

文档评论(0)

1亿VIP精品文档

相关文档