2026计算机岗面试考点梳理习题汇编备考指南_第1页
2026计算机岗面试考点梳理习题汇编备考指南_第2页
2026计算机岗面试考点梳理习题汇编备考指南_第3页
2026计算机岗面试考点梳理习题汇编备考指南_第4页
2026计算机岗面试考点梳理习题汇编备考指南_第5页
已阅读5页,还剩9页未读, 继续免费阅读

下载本文档

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

文档简介

2026计算机岗面试考点梳理习题汇编备考指南考试时间:______分钟总分:______分姓名:______选择题1.在设计LRU缓存时,以下哪种数据结构组合能确保O(1)时间复杂度的get和put操作?A.哈希表+单向链表B.哈希表+双向链表C.数组+栈D.栈+队列2.TCP协议的三次握手过程中,第三次握手的作用是?A.客户端发送SYN请求B.服务器发送SYN-ACK确认C.客户端发送ACK确认服务器D.建立数据传输通道3.在MySQL中,以下哪种索引类型适合等值查询且范围查询?A.哈希索引B.B+树索引C.全文索引D.位图索引4.Java中的HashMap在插入键值对时,若发生哈希冲突,默认采用哪种解决方式?A.开放地址法B.链地址法C.再哈希法D.公共溢出区5.操作系统中,进程的“阻塞”状态是指?A.进程正在等待CPU资源B.进程正在等待I/O操作完成C.进程已完成执行D.进程被调度程序选中运行6.机器学习中,评估分类模型性能时,F1-score是以下哪两个指标的调和平均?A.准确率和召回率B.精确率和召回率C.准确率和特异度D.精确率和特异度7.计算机组成原理中,Cache的组相联映射方式结合了以下哪种映射方式的特点?A.直接映射和全相联映射B.直接映射和组相联映射C.全相联映射和组相联映射D.直接映射和间接映射8.数据库事务的“隔离性”是指?A.事务中的操作要么全部执行,要么全部不执行B.事务的执行不应影响其他事务的执行C.事务的执行结果必须持久化存储D.事务的执行必须遵循ACID特性9.HTTP协议中,状态码“404”表示?A.服务器内部错误B.请求成功C.资源未找到D.未授权访问10.Python中,GIL(全局解释器锁)的主要作用是?A.提高多线程执行效率B.确保同一时刻只有一个线程执行Python字节码C.管理内存分配D.优化垃圾回收填空题1.TCP协议的“四次挥手”过程中,客户端发送FIN后,服务器会回复______,然后等待可能的剩余数据传输,最后发送______。2.数据库设计中,第三范式(3NF)要求关系模式中不存在______依赖。3.操作系统中,死锁的四个必要条件是互斥、占有并等待、不可抢占和______。4.二叉树的“中序遍历”顺序是左子树、______、右子树。5.DNS域名解析中,递归查询是指______服务器负责查询并返回最终结果。简答题1.简述动态规划中“状态转移方程”的定义及其作用。2.解释HTTPS比HTTP更安全的原因,并说明SSL/TLS握手的关键步骤。3.在数据库中,创建联合索引时“最左前缀原则”的含义是什么?请举例说明。4.Spring框架中AOP(面向切面编程)的实现原理是什么?5.区块链中,PoW(工作量证明)共识算法的基本原理是什么?编程题1.实现一个函数,给定一个整数数组nums和一个目标值target,返回数组中两个数之和等于target的索引(假设只有一个解)。2.用非递归方式实现二叉树的前序遍历。3.设计一个LRU缓存类,支持get和put操作,要求时间复杂度为O(1)。4.编写SQL查询,优化“SELECT*FROMusersWHEREname='张三'ANDage=25;”的执行效率。5.用Socket编程实现一个简单的客户端-服务器通信,客户端发送消息,服务器返回“收到”。项目/场景题1.设计一个高并发秒杀系统,需要解决哪些技术问题?请详细说明解决方案。2.用STAR法则描述一个你参与过的项目,突出技术难点和成果。3.如果团队对技术方案存在分歧,你会如何处理?请结合具体场景说明。试卷答案###选择题1.答案:B解析思路:LRU缓存需支持O(1)的查找(哈希表)和O(1)的节点移动(双向链表),单向链表无法实现O(1)的删除操作。2.答案:C解析思路:三次握手第三次握手是客户端对服务器SYN-ACK的确认,完成连接建立。3.答案:B解析思路:B+树索引支持等值查询和范围查询,哈希索引仅支持等值查询,全文索引用于文本搜索,位图索引仅适用于低基数列。4.答案:B解析思路:HashMap默认采用链地址法解决哈希冲突,冲突的键值对以链表形式存储在哈希桶中。5.答案:B解析思路:阻塞状态是进程因等待I/O、资源等原因暂停执行,等待事件完成。6.答案:B解析思路:F1-score是精确率(Precision)和召回率(Recall)的调和平均,用于平衡分类模型的性能。7.答案:A解析思路:组相联映射结合了直接映射(快速查找)和全相联映射(灵活替换)的特点,将Cache分为若干组,每组内全相联映射。8.答案:B解析思路:隔离性要求事务的执行不受其他事务干扰,避免脏读、不可重复读等问题。9.答案:C解析思路:HTTP状态码404表示请求的资源在服务器上未找到。10.答案:B解析思路:GIL确保同一时刻只有一个线程执行Python字节码,防止多线程竞争共享资源,但限制了多线程的并行性。###填空题1.答案:ACK;FIN解析思路:四次挥手过程中,客户端发送FIN后,服务器回复ACK确认,然后可能发送剩余数据,最后发送FIN关闭连接。2.答案:传递依赖解析思路:第三范式要求消除非主键列之间的传递依赖(如A→B,B→C,则A→C为传递依赖)。3.答案:循环等待解析思路:死锁的四个必要条件包括互斥、占有并等待、不可抢占和循环等待(进程间形成资源等待循环)。4.答案:根节点解析思路:中序遍历顺序为左子树→根节点→右子树。5.答案:递归解析思路:递归查询是指DNS服务器代替客户端完成完整的查询过程,直到返回最终结果。###简答题1.答案:状态转移方程是动态规划中描述子问题之间关系的数学表达式,用于从已知子问题解推导更大问题的解。解析思路:动态规划通过划分子问题,定义状态后,用状态转移方程关联不同子问题的解,避免重复计算。2.答案:HTTPS通过SSL/TLS加密传输、身份认证(证书)和完整性校验(MAC)提升安全性;SSL/TLS握手包括ClientHello、ServerHello、密钥交换、生成会话密钥和完成握手。解析思路:HTTPS的安全性体现在加密(防止窃听)、认证(防止冒充)和完整性(防止篡改);握手过程通过非对称加密协商对称密钥,实现安全通信。3.答案:最左前缀原则指联合索引从最左侧列开始匹配,只要查询条件包含索引的最左列,即可使用索引;例如索引`(A,B,C)`,查询`WHEREA=1`或`WHEREA=1ANDB=2`可用索引,但`WHEREB=2`不可用。解析思路:联合索引的B+树按最左列排序,后续列依赖于前序列的值,因此必须从最左列开始匹配才能利用索引。4.答案:AOP通过动态代理(JDK动态代理或CGLIB)和字节码增强技术,在目标方法执行前后插入切面逻辑(如日志、事务)。解析思路:SpringAOP基于代理模式,通过定义切点(Pointcut)和通知(Advice),在运行时动态生成代理对象,实现非侵入式的功能扩展。5.答案:PoW通过计算哈希难题(寻找满足特定条件的随机数)证明工作量,节点竞争计算结果,获胜者获得记账权并生成新区块。解析思路:PoW要求节点不断尝试不同随机数,计算区块头的哈希值,使哈希值满足目标难度(如前N位为0),解决难度随算力动态调整。###编程题1.答案:```pythondeftwo_sum(nums,target):num_map={}fori,numinenumerate(nums):complement=target-numifcomplementinnum_map:return[num_map[complement],i]num_map[num]=ireturn[]```解析思路:使用哈希表存储已遍历数字的索引,遍历数组时检查补数(target-当前数)是否在哈希表中,实现O(n)时间复杂度。2.答案:```pythonclassTreeNode:def__init__(self,val=0,left=None,right=None):self.val=valself.left=leftself.right=rightdefpreorder_traversal(root):stack,result=[],[]whilestackorroot:whileroot:result.append(root.val)stack.append(root)root=root.leftroot=stack.pop()root=root.rightreturnresult```解析思路:用栈模拟递归,先访问根节点,再左子树,最后右子树;通过循环将左子节点压栈,处理完左子树后弹出并转向右子树。3.答案:```javaclassLRUCache{classNode{intkey,value;Nodeprev,next;Node(intkey,intvalue){this.key=key;this.value=value;}}privateintcapacity;privateMap<Integer,Node>map;privateNodehead,tail;publicLRUCache(intcapacity){this.capacity=capacity;map=newHashMap<>();head=newNode(-1,-1);tail=newNode(-1,-1);head.next=tail;tail.prev=head;}publicintget(intkey){if(!map.containsKey(key))return-1;Nodenode=map.get(key);moveToHead(node);returnnode.value;}publicvoidput(intkey,intvalue){if(map.containsKey(key)){Nodenode=map.get(key);node.value=value;moveToHead(node);}else{Nodenode=newNode(key,value);map.put(key,node);addToHead(node);if(map.size()>capacity){Noderemoved=removeTail();map.remove(removed.key);}}}privatevoidmoveToHead(Nodenode){removeNode(node);addToHead(node);}privatevoidremoveNode(Nodenode){node.prev.next=node.next;node.next.prev=node.prev;}privatevoidaddToHead(Nodenode){node.prev=head;node.next=head.next;head.next.prev=node;head.next=node;}privateNoderemoveTail(){Nodenode=tail.prev;removeNode(node);returnnode;}}```解析思路:哈希表+双向链表,哈希表实现O(1)查找,双向链表维护访问顺序(最近访问的移至头部)。4.答案:```sqlCREATEINDEXidx_name_ageONusers(name,age);SELECTid,name,ageFROMusersWHEREname='张三'ANDage=25;```解析思路:创建联合索引`(name,age)`利用最左前缀原则;查询时只选择必要列(避免`SELECT*`),减少回表开销。5.答案:```python#服务器端importsocketserver=socket.socket(socket.AF_INET,socket.SOCK_STREAM)server.bind(('localhost',8080))server.listen(1)conn,addr=server.accept()data=conn.recv(1024).decode()conn.send("收到".encode())conn.close()#客户端importsocketclient=socket.socket(socket.AF_INET,socket.SOCK_STREAM)client.connect(('localhost',8080))client.send("消息".encode())print(client.recv(1024).decode())client.close()```解析思路:服务器绑定端口监听连接,接收客户端消息后返回确认;客户端连接服务器并发送消息,接收服务器响应。###项目/场景题1.答案:

温馨提示

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

评论

0/150

提交评论