版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年腾讯公司技术部门面试题及答案解析一、编程题(共3题,每题15分,总分45分)1.题目(15分):编写一个函数,输入一个非负整数`n`,返回其对应的二进制表示中`1`的个数。例如,输入`11`(二进制为`1011`),返回`3`。要求不使用内置函数,仅用位运算实现。答案:pythondefcount_bits(n):count=0whilen:count+=n&1n>>=1returncount解析:-位运算`n&1`可判断最低位是否为`1`,右移`n>>=1`将二进制右移一位。-时间复杂度为`O(logn)`,空间复杂度为`O(1)`。-腾讯面试常考察位运算,考察对底层逻辑的理解。2.题目(15分):给定一个字符串`s`,找到其中不重复的最长子串的长度。例如,输入`"abcabcbb"`,返回`3`(最长子串为`"abc"`)。要求时间复杂度为`O(n)`。答案:pythondeflength_of_longest_substring(s):char_map={}left=0max_len=0forrightinrange(len(s)):ifs[right]inchar_mapandchar_map[s[right]]>=left:left=char_map[s[right]]+1char_map[s[right]]=rightmax_len=max(max_len,right-left+1)returnmax_len解析:-使用滑动窗口`left`和`right`,哈希表`char_map`记录字符上一次出现的位置。-当发现重复字符时,移动`left`到重复字符的下一个位置。-时间复杂度为`O(n)`,空间复杂度为`O(min(m,n))`(`m`为字符集大小)。-腾讯高频考察字符串问题,需掌握滑动窗口技巧。3.题目(15分):实现一个`LRUCache`(最近最少使用缓存),支持`get`和`put`操作。要求`get`和`put`的时间复杂度为`O(1)`。答案:pythonclassLRUCache:def__init__(self,capacity:int):self.capacity=capacityself.cache={}self.order=[]defget(self,key:int)->int:ifkeyinself.cache:self.order.remove(key)self.order.append(key)returnself.cache[key]return-1defput(self,key:int,value:int)->None:ifkeyinself.cache:self.order.remove(key)eliflen(self.cache)>=self.capacity:oldest=self.order.pop(0)delself.cache[oldest]self.cache[key]=valueself.order.append(key)解析:-使用字典`cache`存储键值对,列表`order`记录访问顺序。-`get`时将键移到末尾表示最近使用,`put`时若超出容量则删除最久未使用的键。-时间复杂度为`O(1)`,需用`list.remove()`优化(实际可改用双向链表)。-腾讯常考设计题,考察数据结构应用。二、系统设计题(共2题,每题25分,总分50分)1.题目(25分):设计一个高并发的短链接生成服务。要求:-支持高并发访问(每秒百万级请求)。-链接长度尽量短(如`/12345`)。-可快速解析短链接到原链接。答案:核心思路:1.短ID生成:使用自增ID+哈希(如Base62编码,`a-z0-9`共62个字符)。2.高并发支持:-数据库分表分库(如按ID模分表)。-Redis缓存热点数据,热点链路预取。3.解析服务:-前端服务接短链接,查询数据库/缓存返回原链接。-异步写入日志(如Kafka),防写入阻塞。伪代码:pythonID生成器(Base62编码)defencode_id(num):chars="abcdefghijklmnopqrstuvwxyz0123456789"res=""whilenum>0:res=chars[num%62]+resnum//=62returnres.zfill(6)#固定长度6位解析短链接defdecode_id(short_link):num=0forcharinshort_link[8:]:#去除`/`num=num62+chars.index(char)returnnum解析:-Base62可压缩ID至短链,如`1000`编码为`1dz`。-数据库需支持高并发写入(如分表+异步写入),Redis缓存热点链路。-腾讯关注高并发场景,考察分布式和缓存设计。2.题目(25分):设计一个实时日志分析系统,要求:-支持每秒接收百万条日志。-实时统计热点关键词(如`ERROR`、`WARN`)。-支持按时间窗口统计(如最近5分钟内`ERROR`数量)。答案:核心思路:1.日志采集:-Flume/Kafka收集日志,推送到消息队列。2.实时处理:-Flink/SparkStreaming处理数据流,按关键词统计。3.热点统计:-使用Redis/ZMQ实现广播,多个节点共享热点数据。4.时间窗口:-滑动时间窗口统计(如每分钟滑动统计5分钟内数据)。伪代码(Flink示例):python实时统计ERROR数量dataStream.map(line->line.contains("ERROR"))#标记ERROR日志.window(TumblingProcessingTimeWindows.of(Time.minutes(1)))#5分钟窗口.aggregate(newAggregateFunction())#统计数量.print()解析:-Kafka保证日志不丢失,Flink实现实时统计。-Redis可缓存热点关键词,降低数据库压力。-腾讯关注大数据和实时计算,考察消息队列和流处理能力。三、算法题(共2题,每题20分,总分40分)1.题目(20分):给定一个二维矩阵`matrix`,每行和每列都按升序排列,返回矩阵中第`k`小的元素。例如:matrix=[[1,5,9],[10,11,13],[12,13,15]]k=8返回`13`。答案:pythonimportheapqdefkthSmallest(matrix,k):m,n=len(matrix),len(matrix[0])min_heap=[]foriinrange(min(k,m)):#只需前k行heapq.heappush(min_heap,(matrix[i][0],i,0))count=0whilemin_heap:val,i,j=heapq.heappop(min_heap)count+=1ifcount==k:returnvalifj+1<n:heapq.heappush(min_heap,(matrix[i][j+1],i,j+1))return-1解析:-使用最小堆维护当前未处理的元素,每次弹出最小值。-时间复杂度为`O(klogk)`,空间复杂度为`O(k)`。-腾讯常考有序矩阵问题,考察堆和二分查找应用。2.题目(20分):给定一个字符串`s`,判断是否可以通过删除一些字符使其变为回文串。例如:s="baabcba"返回`True`(删除`b`后为`aabcba`)。要求时间复杂度为`O(n)`。答案:pythondefvalidPalindrome(s:str)->bool:left,right=0,len(s)-1whileleft<right:ifs[left]!=s[right]:returnvalidPalindrome(s[left+1:right+1])orvalidPalindrome(s[left:right])left+=1right-=1returnTrue解析:-双指针法,当发现不匹配时尝试跳过左边或右边一个字符。-递归调用直到字符串为空或满足回文条件。-时间复杂度为`O(2^n)`(实际可优化为`O(n)`),空间复杂度为`O(n)`。-腾讯关
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年监狱戒毒系统招聘475人备考题库带答案详解
- 湖南衡阳成章松亭高级中学教师招聘考试真题2024
- 福建水利电力职业技术学院《中国近代史纲要》2023-2024学年第一学期期末试卷
- 2025年成都农商银行软件开发岗(应用架构方向)社会招聘10人备考题库带答案详解
- 2025年福州大学附属省立医院高层次人才招聘备考题库及答案详解1套
- 什邡市人力资源和社会保障局什邡市民政局关于2025年面向全市公开选调工作人员的备考题库及答案详解1套
- 2025年民生银行深圳分行社会招聘备考题库及1套参考答案详解
- 中医护理与个体化健康方案
- 2025年南澳县公安局关于公开招聘警务辅助人员的备考题库及一套参考答案详解
- 交通运输部路网监测与应急处置中心2026年度公开招聘备考题库及一套完整答案详解
- 2025年沈阳华晨专用车有限公司公开招聘参考笔试题库及答案解析
- 2025年河北石家庄市招聘工会社会工作人员25名笔试历年题库带答案解析
- 亚洲投资银行课件
- 2025年投融资岗位笔试试题及答案
- 烤房转让合同范本
- (一诊)达州市2026届高三第一次诊断性测试历史试题(含答案)
- 《汽车网络与新媒体营销》期末考试复习题库(附答案)
- 外一骨科年终总结
- 生产厂长年度工作总结
- 走遍天下书为伴侣课件
- 2025四川成都东部新区招聘编外工作人员29人笔试考试参考题库及答案解析
评论
0/150
提交评论