2026年BAT大厂研发岗秋招笔试题(含详细答案解析)_第1页
2026年BAT大厂研发岗秋招笔试题(含详细答案解析)_第2页
2026年BAT大厂研发岗秋招笔试题(含详细答案解析)_第3页
2026年BAT大厂研发岗秋招笔试题(含详细答案解析)_第4页
2026年BAT大厂研发岗秋招笔试题(含详细答案解析)_第5页
已阅读5页,还剩2页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2026年BAT大厂研发岗秋招笔试题(含详细答案解析)考试说明1.考试时长:120分钟,满分100分2.适用岗位:后端开发、客户端开发、服务器研发、通用技术岗3.题型分布:选择题20分、填空题20分、简答题30分、编程题30分4.答题要求:答案简洁规范,编程题可使用Java、C++、Python任意语言作答一、单项选择题(共10题,每题2分,共20分)1.以下关于TCP和UDP协议的描述,正确的是()A.UDP是面向连接的可靠传输协议B.TCP支持广播和多播传输C.TCP通过滑动窗口机制实现流量控制D.UDP传输数据一定会出现丢包答案:C解析:TCP是面向连接、可靠的传输层协议,依靠滑动窗口完成流量控制、拥塞控制;UDP是无连接、不可靠协议,支持广播多播。UDP丢包是概率事件,并非必然发生,因此ABD错误。2.快速排序的平均时间复杂度和最坏时间复杂度分别是()A.O(n)、O(n²)B.O(nlogn)、O(n²)C.O(nlogn)、O(nlogn)D.O(n²)、O(nlogn)答案:B解析:快速排序平均情况下通过分治实现O(nlogn)复杂度;最坏场景为数组已有序/逆序,基准值选取极端,递归深度最大化,复杂度退化为O(n²)。3.下列不属于Redis缓存淘汰策略的是()A.allkeys-lruB.volatile-ttlC.fifoD.allkeys-random答案:C解析:Redis官方六大淘汰策略包含allkeys-lru、volatile-lru、allkeys-random、volatile-random、volatile-ttl、noeviction,无FIFO策略。4.操作系统中,进程的最小调度单位是()A.进程B.线程C.程序D.指令答案:B解析:线程是操作系统CPU调度的最小单位,进程是资源分配的最小单位,一个进程可包含多个线程,线程共享进程资源。5.MySQL中,以下索引查询效率最高的是()A.普通索引B.唯一索引C.主键索引D.联合索引答案:C解析:主键索引为聚簇索引,数据与索引绑定,查询可直接定位数据;普通索引、唯一索引为二级索引,查询需要回表,效率低于主键索引。6.下列关于死锁产生必要条件,错误的是()A.互斥条件B.资源可剥夺条件C.请求与保持条件D.循环等待条件答案:B解析:死锁四大必要条件为互斥、请求保持、不可剥夺、循环等待。资源可剥夺会打破死锁条件,不会产生死锁。7.HTTP1.1相比HTTP1.0的核心优化点是()A.支持加密传输B.支持长连接、管线化请求C.支持多路复用D.支持二进制帧传输答案:B解析:HTTP1.1默认开启长连接,支持请求管线化;HTTPS实现加密,HTTP2.0支持多路复用和二进制帧传输。8.Java中,以下关于volatile关键字描述正确的是()A.可以保证原子性B.可以保证可见性和有序性C.能替代synchronized锁D.会阻塞线程执行答案:B解析:volatile关键字禁止指令重排、保证内存可见性,但不保证复合操作原子性,无阻塞特性,无法替代重量级锁synchronized。9.分布式系统CAP理论中,P指的是()A.一致性B.可用性C.分区容错性D.持久性答案:C解析:CAP分别对应Consistency一致性、Availability可用性、Partitiontolerance分区容错性,分布式系统必须满足P,只能在C和A之间取舍。10.链表和数组相比,核心优势是()A.随机访问速度快B.内存利用率高、无碎片C.插入删除操作效率高D.存储空间连续答案:C解析:数组存储空间连续,支持随机访问,但插入删除需移动元素;链表不支持随机访问,无需连续内存,插入删除仅修改指针,效率更高。二、填空题(共10空,每空2分,共20分)1.栈的特点是__________,队列的特点是__________。答案:后进先出(LIFO)、先进先出(FIFO)2.MySQL事务四大特性ACID分别是原子性、__________、__________、持久性。答案:一致性、隔离性3.线程的三种基本状态为就绪、__________、__________。答案:运行、阻塞4.哈希表解决冲突的两种常用方式是__________和__________。答案:链地址法、开放寻址法5.TCP三次握手的核心目的是__________,四次挥手的核心目的是__________。答案:建立可靠连接、安全断开连接三、简答题(共3题,每题10分,共30分)1.简述LRU缓存淘汰算法的原理、实现方式及适用场景答案解析:(1)核心原理:LRU即最近最少使用算法,核心逻辑是认为长时间未被访问的数据,后续被访问的概率也极低。当缓存容量达到上限时,优先淘汰最久未使用的数据,保留近期高频访问的数据,贴合热点数据访问特性。(2)主流实现方式:工程中最常用哈希表+双向链表结构。双向链表用于维护数据访问顺序,头部为最近访问数据,尾部为最久未访问数据;哈希表存储数据key与链表节点的映射关系,保证查询、插入、删除操作均为O(1)时间复杂度。访问数据时,命中则将节点移至链表头部,未命中则插入头部,容量溢出则删除尾部节点。(3)适用场景:适用于热点数据集中、访问频率差异明显的业务场景,例如网页缓存、接口结果缓存、本地缓存、Redis热点键缓存等,能够有效提升缓存命中率,减少底层数据库查询压力。2.简述微服务架构的优势、弊端及适用业务场景答案解析:(1)核心优势:第一,服务拆分独立,单个服务职责单一,开发、测试、部署独立,迭代效率更高;第二,容错性强,单个服务故障不会导致整体系统崩溃,可实现故障隔离;第三,技术栈灵活,不同服务可根据业务需求选择适配的技术框架;第四,支持独立扩容,针对高并发服务单独扩容,节约服务器资源。(2)主要弊端:第一,架构复杂度提升,服务数量多,依赖关系复杂,分布式问题凸显;第二,运维成本高,需要配套的注册中心、配置中心、链路追踪、日志监控组件;第三,分布式事务问题难以完美解决,跨服务数据一致性保障难度大;第四,网络开销增加,服务间远程调用存在延迟和超时风险。(3)适用场景:适合业务体量较大、迭代速度快、模块职责清晰、团队分工明确的中大型互联网系统,如电商、社交、支付平台;不适合小型单体业务、简单内部系统,过度拆分会增加不必要的开发运维成本。3.简述MySQL慢查询优化的通用步骤答案解析:第一步:开启慢查询日志,定位慢SQL。通过配置参数设置慢查询阈值,记录执行耗时过长、扫描行数过多的SQL语句,精准锁定待优化语句。第二步:使用explain分析执行计划。查看SQL的索引使用情况、扫描行数、连接方式、是否存在全表扫描、临时表、文件排序等低效场景,定位性能瓶颈。第三步:优化索引。针对高频查询字段建立合适的索引,优先使用联合索引遵循最左匹配原则,避免索引失效(如字段隐式转换、like左模糊查询、or查询无索引等)。第四步:优化SQL语句写法。避免select*、冗余子查询、重复排序,拆分复杂大SQL,优化where条件过滤逻辑,减少无效数据扫描。第五步:优化表结构。大表进行分库分表、冷热数据分离,合理设置字段类型,减少字段长度,避免冗余字段,提升查询效率。第六步:业务层面优化。高频低变动数据加入缓存,减少数据库查询次数;调整业务逻辑,规避复杂关联查询、批量大数据查询。四、编程题(共1题,30分)题目:字符串置换还原问题(2026百度算法真题改编)题目描述:给定一个长度为n的字符串s,以及一个长度为n的数组a(1~n的排列)。定义一次操作:生成新字符串t,对于每个下标i,t[i]=s[a[i]-1],完成后将s更新为t。求最少多少次操作后,字符串s恢复为初始状态,结果对10⁹+7取模。输入示例1:n=5,s=abcde,a=[2,3,4,5,1]输出示例1:6输入示例2:n=4,s=aaaa,a=[2,1,4,3]输出示例2:1解题思路:1.置换环拆分:将排列数组拆分为多个互不相交的置换环,每个环的变换相互独立,无需互相影响。2.环有效性判断:对于每个置换环,只有环内所有位置的字符完全相同时,该环可在k次操作后还原;若字符不同,需等待整个环完成完整置换才能还原。3.最小公倍数求解:统计所有有效环的最小还原步数,最终答案为所有步数的最小公倍数,对1e9+7取模。若所有环字符均一致,仅需1次操作即可还原。Python完整代码(可直接AC)python

importmath

MOD=10**9+7

defmain():

importsys

input=sys.stdin.read().split()

n=int(input[0])

s=input[1]

a=list(map(int,input[2:2+n]))

a=[x-1forxina]

vis=[False]*n

res=1

foriinrange(n):

ifnotvis[i]:

#寻找置换环

cycle=[]

cur=i

whilenotvis[cur]:

vis[cur]=True

cycle.append(cur)

cur=a[cur]

#判断环内字符是否全部相同

chars=[s[idx]foridxincycle]

iflen(set(chars))==1:

continue

#更新最小公倍数

res=res*len(cy

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论