2026年高级软件工程师面试题库.docxVIP

  • 1
  • 0
  • 约1.04万字
  • 约 30页
  • 2026-09-04 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年高级软件工程师面试题库

一、编程实现题(共5题,每题20分,总分100分)

题目1(20分)

题目:实现一个LRU(最近最少使用)缓存机制。缓存应该支持以下操作:

1.`get(key)`:检索键`key`所对应的值。如果键不存在,返回-1。

2.`put(key,value)`:插入或更新键`key`的值`value`。如果键不存在,则添加该键值对;如果键已存在,则更新其值。当缓存容量达到上限时,应该删除最近最少使用的缓存项。

要求:

-使用双向链表和哈希表实现,确保`get`和``put`操作的时间复杂度为O(1)。

-描述你的数据结构设计,并给出关键代码实现。

题目2(20分)

题目:给定一个包含n个正整数的数组,要求找到和为s的连续子数组的长度。如果有多个连续子数组的和为s,返回长度最短的那个。

要求:

-输入:`nums=[1,2,3,4,5]`,`s=11`

-输出:3(子数组[2,3,4]和为11,长度最短)

-不能使用超过O(n)的时间和O(n)的空间复杂度。

题目3(20分)

题目:设计一个算法,将一个二叉搜索树转换为双向链表。转换后的双向链表应该保持二叉搜索树的顺序,左指针指向前一个节点,右指针指向后一个节点。

要求:

-描述你的遍历策略(中序、前序或后序)。

-给出关

文档评论(0)

1亿VIP精品文档

相关文档