2026计算机岗面试考点梳理高频题题库_第1页
2026计算机岗面试考点梳理高频题题库_第2页
2026计算机岗面试考点梳理高频题题库_第3页
2026计算机岗面试考点梳理高频题题库_第4页
2026计算机岗面试考点梳理高频题题库_第5页
已阅读5页,还剩1页未读, 继续免费阅读

下载本文档

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

文档简介

2026计算机岗面试考点梳理高频题题库考试时间:______分钟总分:______分姓名:______题1:在数据结构中,反转一个单链表的时间复杂度是?A.O(1)B.O(n)C.O(nlogn)D.O(n^2)题2:以下哪些算法属于动态规划的应用?(多选题)A.最长公共子序列B.背包问题C.快速排序D.二分查找题3:简答题:解释LRU缓存的基本原理及其实现方式。题4:编程题:实现一个函数,反转一个二叉树(LeetCode226),要求使用递归方法。题5:操作系统中,进程上下文切换和线程上下文切换的主要区别是什么?A.进程切换涉及虚拟内存空间切换,线程切换不涉及B.进程切换开销比线程切换大C.线程切换需要保存更多的寄存器状态D.进程切换仅发生在用户态,线程切换发生在内核态题6:以下哪些是TCP三次握手的目的?(多选题)A.确认双方的发送和接收能力B.防止重复连接C.初始化序列号D.建立加密通道题7:简答题:描述HTTP长连接与短连接的区别,并说明适用场景。题8:数据库中,B+树索引相比B树索引的优势是?A.查询效率更高B.支持范围查询更高效C.非叶子节点存储数据D.树高更低题9:以下哪些因素可能导致数据库索引失效?(多选题)A.对字段进行函数操作B.使用OR条件连接多个字段C.字段类型不匹配D.索引列包含NULL值题10:简答题:解释事务隔离级别“可重复读”如何解决幻读问题。题11:设计一个高并发秒杀系统的关键步骤有哪些?A.流量削峰(如消息队列)B.缓存优化(如Redis预加载库存)C.数据库分库分表D.限流和降级策略题12:编程题:设计一个LRU缓存类,要求支持get和put操作,时间复杂度O(1)。题13:Java线程池的核心参数corePoolSize的作用是?A.设置最大线程数B.设置核心线程数(常驻线程池)C.设置线程空闲存活时间D.设置任务队列容量题14:以下哪些是Git分支管理的最佳实践?(多选题)A.使用GitFlow模型B.避免直接在主分支开发C.定期合并分支D.使用单个分支管理所有功能题15:简答题:描述一次你在项目中解决技术难题的经历(使用STAR法则)。试卷答案题1:答案:B解析:反转单链表需遍历整个链表一次,每个节点进行指针反转操作,时间复杂度为O(n)。O(1)适用于常数时间操作,O(nlogn)和O(n^2)时间复杂度高于实际需求。题2:答案:A、B解析:动态规划适用于最优子结构和重叠子问题场景。最长公共子序列和背包问题符合动态规划特征;快速排序是分治算法,二分查找是分治算法,不属于动态规划。题3:答案:LRU缓存原理:基于“最近最少使用”策略,淘汰最久未访问的数据。实现方式:使用哈希表存储键与节点映射,双向链表按访问时间排序(最近访问的节点在头部)。get操作:若存在,将节点移至头部;put操作:若存在,更新值并移至头部;若不存在且容量满,删除尾部节点后插入新节点。题4:答案:```pythonclassTreeNode:def__init__(self,val=0,left=None,right=None):self.val=valself.left=leftself.right=rightdefinvertTree(root):ifnotroot:returnNoneroot.left,root.right=invertTree(root.right),invertTree(root.left)returnroot```题5:答案:A、B解析:进程切换需切换虚拟内存空间,线程切换共享进程内存空间;进程切换开销大(保存更多资源状态),线程切换开销小;线程切换需保存线程私有寄存器和栈状态,进程切换需保存进程资源(如内存页表);两者切换均可能发生在内核态。题6:答案:A、C解析:三次握手确认双方收发能力(SYN发送、SYN-ACK回复、ACK确认);初始化序列号(ISN)防止历史数据混淆;防止重复连接是四次挥手的作用;TCP不建立加密通道(HTTPS通过SSL/TLS实现)。题7:答案:区别:短连接每次请求后关闭TCP连接,长连接通过`Connection:keep-alive`复用连接。适用场景:短连接适用于低频请求(如静态资源),长连接适用于高频请求(如API调用),减少握手开销。题8:答案:B解析:B+树所有数据存储在叶子节点,叶子节点通过指针相连,范围查询只需遍历链表;B树数据存储在所有节点,范围查询需回溯。B+树非叶子节点不存数据,树高不一定更低;查询效率需结合具体场景。题9:答案:A、B、C解析:对字段函数操作(如`WHERESUBSTR(name,1,1)='A'`)、OR条件(如`WHEREname='A'ORage=20`)、字段类型不匹配(如字符串与数字比较)可能导致索引失效;NULL值不影响索引使用(但可能影响索引覆盖)。题10:答案:可重复读通过MVCC(多版本并发控制)实现:事务开启时创建ReadView,记录活跃事务列表;查询时读取创建时间早于ReadView的版本数据;结合间隙锁(GapLock)锁定区间,阻止其他事务插入新数据,防止幻读。题11:答案:A、B、C、D解析:流量削峰(消息队列缓冲)、缓存优化(Redis预加载库存)、数据库分库分表(分散压力)、限流降级(保护系统)均为高并发秒杀系统的核心步骤。题12:答案:```pythonfromcollectionsimportOrderedDictclassLRUCache:def__init__(self,capacity):self.cache=OrderedDict()self.capacity=capacitydefget(self,key):ifkeynotinself.cache:return-1self.cache.move_to_end(key)returnself.cache[key]defput(self,key,value):ifkeyinself.cache:self.cache.move_to_end(key)self.cache[key]=valueiflen(self.cache)>self.capacity:self.cache.popitem(last=False)```题13:答案:B解析:corePoolSize设置核心线程数(常驻线程池);maximumPoolSize设置最大线程数;keepAliveTime设置临时线程空闲存活时间;workQueue设置任务队列容量。题14:答案:A、B、C解析:GitFlow模型规范分支管理(主分支、开发分支、功能分支);避免直接在主分支开发(通过功能分支);定期合并分支(如定期合并开发分支到主分支);使用单个分支管理所

温馨提示

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

评论

0/150

提交评论