2026年IT巨头公司技术总监面试题集.docxVIP

2026年IT巨头公司技术总监面试题集.docx

本文档由用户AI专业辅助创建,并经网站质量审核通过
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第PAGE页共NUMPAGES页

2026年IT巨头公司技术总监面试题集

一、编程与算法题(共5题,每题10分,总分50分)

题目1(10分)

题目:

给定一个包含重复元素的整数数组,请找出数组中不重复的元素,并返回它们的数量。要求时间复杂度为O(n),空间复杂度为O(1)。

示例:

输入:[1,2,2,3,4,4,5]

输出:5(不重复元素为1,3,5)

答案:

python

defcount_unique_elements(nums):

ifnotnums:

return0

对数组进行排序

nums.sort()

unique_count=1#至少有一个唯一元素

foriinrange(1,len(nums)):

ifnums[i]!=nums[i-1]:

unique_count+=1

returnunique_count

解析:

1.首先对数组进行排序,这样重复元素会相邻出现,时间复杂度为O(nlogn)

2.初始化唯一元素计数为1(假设数组不为空)

3.遍历排序后的数组,比较相邻元素,若不同则计数加1

4.最终返回唯一元素的数量

5.空间复杂度为O(1)(若不允许修改原数组可先复制再排序)

题目2(10分)

题目:

设计一个算法,找出数组中第三大的数。如果数组中没有第三大的数,则返回最大的数。要求时间复杂度为O(n)。

示例:

输入:[3,1,2]

输出:1

输入:[1,2,-2147483648]

输出:-2147483648

答案:

python

defthird_largest(nums):

first,second,third=float(-inf),float(-inf),float(-inf)

fornuminnums:

ifnumfirst:

third,second,first=second,first,num

eliffirstnumsecond:

third,second=second,num

elifsecondnumthird:

third=num

returnfirstifthird==float(-inf)elsethird

解析:

1.初始化三个变量存储前三大的数

2.遍历数组,更新三个变量值:

-当当前数大于第一大时,更新所有三个变量

-当当前数在第一和第二大之间时,更新第二和第三大

-当当前数在第二和第三大之间时,更新第三大

3.如果第三大始终为初始值,则返回最大值;否则返回第三大值

4.时间复杂度为O(n),空间复杂度为O(1)

题目3(10分)

题目:

实现一个函数,检查一个字符串是否是有效的括号组合。只考虑()[]{}三种括号。

示例:

输入:()

输出:True

输入:()[]{}

输出:True

输入:([)]

输出:False

答案:

python

defisValid(s):

stack=[]

mapping={(:),[:],{:}}

forcharins:

ifcharinmapping:

stack.append(char)

else:

ifnotstackormapping[stack.pop()]!=char:

returnFalse

returnnotstack

解析:

1.使用栈结构处理括号匹配问题

2.遍历字符串:

-遇到左括号入栈

-遇到右括号时,检查栈顶是否为对应左括号

3.如果栈为空或括号不匹配,则返回False

4.遍历结束后,如果栈为空则返回True,否则返回False

5.时间复杂度为O(n),空间复杂度为O(n)

题目4(10分)

题目:

实现一个LRU(最近最少使用)缓存,支持get和put操作。缓存容量为固定值。

示例:

LRUCachecache=newLRUCache(2)

cache.put(1,1)

cache.put(2,2)

cache.get(1)//返回1

cache.put(3,3)//去除键2

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

cache.put(4,4)//去除键1

cache.get(1)//返回-1(未找到)

cache.get(3)//返回3

cache.get(4)//返回4

答案:

python

classLRUCache:

def__init__(self,capacity:int):

self.capacity=capacity

self.cache={}

sel

您可能关注的文档

文档评论(0)

ll17770603473 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档