2026年腾讯技术面试题集工程师与产品经理篇.docxVIP

  • 0
  • 0
  • 约5.69千字
  • 约 17页
  • 2026-02-12 发布于福建
  • 举报

2026年腾讯技术面试题集工程师与产品经理篇.docx

第PAGE页共NUMPAGES页

2026年腾讯技术面试题集:工程师与产品经理篇

第一部分:工程师篇

1.算法与数据结构(共5题,每题15分,总分75分)

1.1(15分)

题目:

给定一个包含重复元素的数组,返回所有不重复的三元组,使得这三个数的和为0。例如,输入`[0,1,1,0]`,输出`[[-1,0,1],[-1,0,1]]`。

要求:

-不能使用相同的元素多次。

-时间复杂度优于O(n2)。

1.2(15分)

题目:

设计一个LRU(最近最少使用)缓存,支持`get`和`put`操作。缓存容量为`capacity`。

要求:

-`get(key)`:如果缓存中存在键`key`,则返回其值,否则返回-1。

-`put(key,value)`:如果键`key`已存在,则更新其值;如果键不存在,则添加键值对。如果添加后缓存大小超过`capacity`,则删除最近最少使用的元素。

1.3(15分)

题目:

实现一个无重复字符的最长子串查找函数。例如,输入`s=abcabcbb`,输出`abc`(长度为3)。

要求:

-使用滑动窗口技术。

-时间复杂度为O(n)。

1.4(15分)

题目:

给定一个二叉树,判断其是否为平衡二叉树。平衡二叉树是指任意节点的左右子树高度差不超过1。

要求:

-时间复杂度为O(n),即只遍历每个节点一次。

1.5(15分)

题目:

实现一个简单的Trie(前缀树),支持插入和搜索操作。

要求:

-支持插入单词。

-支持判断单词是否存在。

2.系统设计(共3题,每题25分,总分75分)

2.1(25分)

题目:

设计一个短链接服务(如`tinyurl`)。用户输入长链接,系统返回短链接;点击短链接后,解析并跳转至原始长链接。

要求:

-短链接应尽可能短,且全球唯一。

-支持高并发访问。

-支持快速跳转至原始链接。

2.2(25分)

题目:

设计一个实时消息推送系统,支持单聊和群聊。

要求:

-支持高并发消息发送和接收。

-支持离线消息存储和重推。

-支持消息加密(可选)。

2.3(25分)

题目:

设计一个微博Feed流系统,用户可以看到关注人的最新动态。

要求:

-支持按时间倒序展示。

-支持分页加载。

-支持高并发读取。

3.编程语言与工程实践(共2题,每题25分,总分50分)

3.1(25分)

题目:

用Go语言实现一个简单的Kafka消费者,模拟从主题中读取消息并打印。

要求:

-使用Kafka客户端库。

-处理消息异常(如网络中断)。

3.2(25分)

题目:

用Python实现一个分布式锁,支持Redis实现。

要求:

-锁需支持可重入。

-处理死锁问题。

答案与解析

1.算法与数据结构

1.1(15分)

答案:

python

defthree_sum(nums):

nums.sort()

result=[]

n=len(nums)

foriinrange(n):

ifi0andnums[i]==nums[i-1]:

continue

left,right=i+1,n-1

whileleftright:

total=nums[i]+nums[left]+nums[right]

iftotal==0:

result.append([nums[i],nums[left],nums[right]])

whileleftrightandnums[left]==nums[left+1]:

left+=1

whileleftrightandnums[right]==nums[right-1]:

right-=1

left+=1

right-=1

eliftotal0:

left+=1

else:

right-=1

returnresult

解析:

1.排序数组,便于跳过重复元素。

2.固定第一个数,使用双指针遍历剩余部分。

3.时间复杂度为O(n2),但通过跳过重复元素优化实际表现。

1.2(15分)

答案:

python

classLRUCache:

def__init__(self,capacity:int):

self.capacity=capacity

self.cache={}

self.order=[]

defget(self,key:int)-int:

ifkeyinself.cache:

self.order.remove(key)

self.order.append(key)

returnself.cache[key]

retur

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档