2026年软件工程师面试题及答案.docxVIP

  • 0
  • 0
  • 约7.26千字
  • 约 24页
  • 2026-01-29 发布于福建
  • 举报

第PAGE页共NUMPAGES页

2026年软件工程师面试题及答案

一、编程能力测试(共5题,每题20分,总分100分)

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

要求:

-使用Python或Java实现LRU(LeastRecentlyUsed)缓存机制

-支持get和put操作

-get操作返回缓存中对应键的值,如果不存在则返回-1

-put操作将键值对插入缓存中,如果缓存已满则删除最久未使用的项

-时间复杂度为O(1)

python

classLRUCache:

def__init__(self,capacity:int):

初始化双向链表节点

self.head=Node(0,0)

self.tail=Node(0,0)

self.head.next=self.tail

self.tail.prev=self.head

self.capacity=capacity

self.cache={}

defget(self,key:int)-int:

ifkeyinself.cache:

node=self.cache[key]

self._remove(node)

self._add(node)

returnnode.value

return-1

defput(self,key:int,value:int)-None:

ifkeyinself.cache:

self._remove(self.cache[key])

node=Node(key,value)

self.cache[key]=node

self._add(node)

iflen(self.cache)self.capacity:

lru=self.tail.prev

self._remove(lru)

delself.cache[lru.key]

def_remove(self,node:Node)-None:

delself.cache[node.key]

node.prev.next=node.next

node.next.prev=node.prev

def_add(self,node:Node)-None:

node.next=self.head.next

node.next.prev=node

self.head.next=node

node.prev=self.head

classNode:

def__init__(self,key:int,value:int):

self.key=key

self.value=value

self.prev=None

self.next=None

答案解析:

-使用双向链表+哈希表实现LRU缓存

-双向链表维护访问顺序,头节点是最近访问,尾节点是最久未访问

-哈希表实现O(1)时间复杂度的get操作

-添加节点时将节点移动到链表头部,删除节点时从链表尾部删除

-当缓存容量超出限制时,删除链表尾部节点(最久未使用)

题目2(20分):实现一个二叉树的深度优先遍历

要求:

-使用递归方式实现二叉树的深度优先遍历(前序、中序、后序)

-可以选择返回遍历结果的列表或使用回调函数处理每个节点

-可以使用任意编程语言实现

python

定义二叉树节点

classTreeNode:

def__init__(self,val=0,left=None,right=None):

self.val=val

self.left=left

self.right=right

defpreorder_traversal(root:TreeNode):

result=[]

defdfs(node):

ifnotnode:

return

result.append(node.val)

dfs(node.left)

dfs(node.right)

dfs(root)

returnresult

definorder_traversal(root:TreeNode):

result=[]

defdfs(node):

ifnotnode:

return

dfs(node.left)

result.append(node.val)

dfs(node.right)

dfs(root)

returnresult

defpostorder_traversal(root:TreeNode):

result=[]

defdfs(node):

ifnotnode:

return

dfs(

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档