2026计算机岗面试易错题 含解析_第1页
2026计算机岗面试易错题 含解析_第2页
2026计算机岗面试易错题 含解析_第3页
2026计算机岗面试易错题 含解析_第4页
2026计算机岗面试易错题 含解析_第5页
已阅读5页,还剩10页未读, 继续免费阅读

下载本文档

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

文档简介

2026计算机岗面试易错题含解析考试时间:______分钟总分:______分姓名:______一、单项选择题1.在TCP三次握手的过程中,客户端发送的报文段中,SYN标志位和ACK标志位的状态分别是()。A.SYN=1,ACK=0B.SYN=0,ACK=1C.SYN=1,ACK=1D.SYN=0,ACK=02.关于Java中的HashMap,以下描述正确的是()。A.HashMap在并发环境下是线程安全的B.HashMap的扩容阈值总是等于当前容量C.HashMap的put操作在JDK1.8中如果是链表结构,插入时会使用尾插法D.HashMap允许键为null,且只能有一个键为null3.在操作系统进程调度中,以下哪个算法可能会导致“饥饿”现象?()A.时间片轮转算法B.短作业优先算法C.最高响应比优先算法D.先来先服务算法4.若一个进程在运行过程中发生缺页中断,操作系统进行调页后,该进程在内存中占用页面数的变化情况是()。A.增加1页B.减少1页C.不变D.可能增加也可能减少5.以下哪个HTTP状态码表示服务器内部错误?()A.400BadRequestB.403ForbiddenC.500InternalServerErrorD.503ServiceUnavailable6.在数据库事务的ACID特性中,隔离性是指()。A.事务的执行是不可分割的B.事务中包含的操作要么都做,要么都不做C.并发执行的事务之间互不干扰D.事务一旦提交,对数据的修改就是永久的7.以下关于二叉树遍历的描述,正确的是()。A.前序遍历和中序遍历可以唯一确定一棵二叉树B.后序遍历和层序遍历可以唯一确定一棵二叉树C.中序遍历和后序遍历可以唯一确定一棵二叉树D.前序遍历和后序遍历可以唯一确定一棵二叉树8.关于TCP协议的拥塞控制,慢启动阶段的阈值(ssthresh)初始值通常设置为()。A.1B.2C.最大报文段长度(MSS)D.无穷大9.以下哪个数据结构最适合实现优先队列?()A.栈B.队列C.二叉搜索树D.哈希表10.在Java中,下列关于垃圾回收(GC)的描述,正确的是()。A.程序员必须显式调用System.gc()才能触发GCB.垃圾回收器可以回收局部变量C.对象只有在成为垃圾后才会被回收D.GC线程的优先级通常是最高的11.操作系统中,死锁产生的四个必要条件不包括()。A.互斥条件B.请求与保持条件C.不剥夺条件D.同步条件12.如果一个链表的头节点指针为head,且链表中有环,以下算法能正确检测出环的存在并找到环的入口点吗?()A.能B.不能,因为无法确定环的长度C.不能,因为无法确定相遇点D.不能,因为无法确定快慢指针的初始步长13.关于HTTP协议,HTTPS协议在HTTP协议的基础上增加了()。A.身份认证B.数据加密C.访问控制D.流量统计14.数据库索引中,B+树相比于B树的主要优势是()。A.查找效率更高B.范围查询效率更高C.插入删除效率更高D.占用空间更少15.在Linux系统中,以下哪个命令用于查看当前进程的内存使用情况?()A.topB.dfC.psD.du二、多项选择题1.以下哪些是TCP协议的特性?()A.面向连接B.面向无连接C.可靠传输D.不可靠传输2.关于Java虚拟机(JVM)的内存模型,堆(Heap)和方法区(MethodArea)的共同点是()。A.都可以被所有线程共享B.都存储对象实例C.都可能发生OutOfMemoryErrorD.都存储基本数据类型3.以下哪些算法属于不稳定排序算法?()A.冒泡排序B.快速排序C.归并排序D.选择排序4.在数据库事务中,隔离级别从低到高依次为()。A.ReadUncommittedB.ReadCommittedC.RepeatableReadD.Serializable5.以下关于TCP三次握手,描述正确的有()。A.第一次握手主要是发送SYN包B.第二次握手主要是发送SYN和ACK包C.第三次握手主要是发送ACK包D.第三次握手完成后连接建立6.操作系统中,进程切换主要涉及哪些操作?()A.保存处理机状态B.更新PCBC.更新内存管理数据结构D.恢复处理机状态7.以下哪些情况会导致Java中的堆溢出?()A.程序中创建了大量对象且没有被及时回收B.数组定义过大C.方法中定义了过大的局部变量D.线程栈过大8.关于TCP滑动窗口协议,以下说法正确的有()。A.滑动窗口机制用于实现流量控制B.滑动窗口机制用于实现拥塞控制C.窗口大小为0时,接收方可以停止发送数据D.窗口大小是固定的9.在Linux中,以下哪些命令可以用来查看文件内容?()A.catB.lessC.headD.sort10.数据库设计中,范式的主要目的是()。A.减少数据冗余B.避免数据更新异常C.增加数据冗余D.提高查询效率11.以下哪些是TCP协议的报文段首部包含的字段?()A.源端口号B.目的端口号C.序列号D.报文长度12.关于Java并发编程,以下说法正确的有()。A.synchronized是可重入的B.volatile可以保证原子性C.CountDownLatch可以用于线程同步D.Lock接口提供了比synchronized更灵活的锁机制13.在计算机网络中,IP地址属于哪一层?()A.物理层B.数据链路层C.网络层D.传输层14.以下哪些情况会发生死锁?()A.系统资源不足B.进程推进顺序不当C.资源分配不当D.进程间无互斥条件15.关于Redis,以下描述正确的有()。A.Redis支持持久化B.Redis是单线程模型C.Redis支持多种数据结构D.Redis适合作为关系型数据库的缓存三、简答题与代码题1.请简述TCP三次握手的过程,并解释为什么需要三次握手?如果客户端发送了第一个SYN包后卡住了,没有收到服务器的SYN+ACK,最后客户端发送了RST包,会发生什么?2.简述Java中HashMap在JDK1.7和JDK1.8中的主要区别。3.给定一个链表,请写出反转链表的代码实现(要求不使用递归,时间复杂度O(n))。4.什么是死锁?产生死锁的四个必要条件是什么?如何避免和预防死锁?5.在数据库事务中,什么是脏读、不可重复读和幻读?它们分别属于哪个隔离级别解决的问题?6.请描述TCP协议的拥塞控制机制,包括慢启动、拥塞避免、快重传和快恢复。试卷答案一、单项选择题1.A*解析:TCP三次握手时,客户端发送SYN报文段请求建立连接,此时SYN标志位为1,ACK标志位为0,表示这是一次连接请求。服务器收到后回复SYN+ACK,ACK=1,SYN=1。2.D*解析:HashMap是线程不安全的(JDK1.7存在死循环,JDK1.8存在数据覆盖风险)。扩容阈值等于负载因子乘以当前容量。JDK1.8中链表插入使用尾插法,防止死循环。HashMap允许键为null,且只能有一个。3.B*解析:短作业优先算法(SJF)总是优先调度运行时间短的进程。如果系统中总存在短作业,长作业将永远得不到调度,从而产生“饥饿”现象。4.A*解析:发生缺页中断时,如果内存中有空闲帧,操作系统会从磁盘中调入一个页到内存。调入操作会增加内存中页面数(缺页中断发生前占用1页,调入后占用2页,但通常题目问的是“占用页面数的变化”,指当前进程拥有的页框数增加)。5.C*解析:400是客户端请求错误,403是服务器拒绝访问,500是服务器内部错误,503是服务器暂时过载。6.C*解析:隔离性是指并发执行的事务之间互不干扰,一个事务的中间状态对其他事务不可见。7.C*解析:根据前序和中序,或者后序和中序可以唯一确定一棵二叉树。但仅凭前序和后序无法确定树的结构(除非是满二叉树或完全二叉树)。8.D*解析:TCP的慢启动算法中,拥塞窗口(cwnd)初始值通常设置为最大报文段长度(MSS),而拥塞阈值(ssthresh)初始值通常设置为无穷大(或较大的数值,如65535)。9.C*解析:优先队列需要快速获取最大/最小值。二叉搜索树(BST)天然满足左<根<右的特性,可以通过遍历获取最大值,适合实现优先队列。堆是更优的实现方式,但选项中堆不存在,BST是唯一可选的数据结构。10.C*解析:GC不是强制的,可以手动调用System.gc()但不确定何时执行。局部变量存储在栈上,不在堆中。对象只有变成垃圾后才会被回收。GC线程优先级通常较低。11.D*解析:死锁产生的四个必要条件是:互斥条件、请求与保持条件、不剥夺条件、循环等待条件。同步条件不是死锁的必要条件(虽然同步常导致死锁,但它是操作系统进程同步的概念)。12.A*解析:使用Floyd算法(快慢指针)可以检测出环的存在,并找到环的入口点。快慢指针相遇后,慢指针回到头节点,快慢指针各走一步,再次相遇点即为入口。13.B*解析:HTTPS在HTTP基础上增加了SSL/TLS协议,主要是为了数据加密传输和身份验证。14.B*解析:B+树的所有数据记录都存储在叶子节点,且叶子节点通过指针连接。这使得B+树非常适合范围查询,只需要遍历叶子节点链表即可,效率远高于B树。15.A*解析:`top`命令用于实时监控系统的资源使用情况,包括CPU和内存。`df`是磁盘使用情况,`ps`是进程快照,`du`是目录大小。二、多项选择题1.A,C*解析:TCP是面向连接的(三次握手),且提供可靠的传输服务(流量控制、拥塞控制、差错控制)。2.A,C*解析:堆和方法区是线程共享的内存区域。基本数据类型存储在栈中。方法区存储类信息等,堆存储对象实例。3.B,D*解析:快速排序、选择排序(堆排序)、希尔排序通常是不稳定的。冒泡排序、归并排序是稳定的。4.A,B,C,D*解析:从低到高依次为:读未提交(ReadUncommitted)、读已提交(ReadCommitted)、可重复读(RepeatableRead)、串行化(Serializable)。5.A,B,C,D*解析:三次握手全过程:1.客户端发SYN;2.服务器发SYN+ACK;3.客户端发ACK。握手完成后连接建立。6.A,B,C,D*解析:进程切换涉及保存当前进程的CPU上下文(PCB、寄存器等),更新PCB信息,更新内存管理数据结构(如页表),以及恢复下一进程的上下文。7.A,B*解析:堆内存不足会导致OOM。数组定义过大也会导致OOM。局部变量在栈中,不会导致堆溢出。线程栈过大通常导致StackOverflowError。8.A,B,C*解析:滑动窗口机制既用于流量控制(防止发送方发太快),也用于拥塞控制(防止网络拥塞)。窗口大小是动态变化的,不是固定的。9.A,B,C*解析:`cat`查看全部,`less`分页查看,`head`查看前几行。`sort`是排序命令。10.A,B*解析:规范化的目的是减少数据冗余,避免数据更新异常(插入异常、删除异常、更新异常)。11.A,B,C,D*解析:TCP首部包含源端口、目的端口、序列号、确认号、首部长度、标志位(URG,ACK,PSH,RST,SYN,FIN)、窗口大小、校验和等。12.A,C,D*解析:`synchronized`是可重入锁。`volatile`只能保证可见性和有序性,不能保证原子性。`CountDownLatch`用于线程同步。`Lock`接口提供了更灵活的锁机制。13.C*解析:IP地址工作在网络层。14.A,B,C*解析:死锁产生的原因通常包括资源不足、进程推进顺序不当、资源分配不当。互斥条件是产生死锁的必要前提,不是原因。15.A,B,C,D*解析:Redis支持RDB和AOF持久化。Redis是单线程模型(处理命令)。支持String,List,Set,Hash,ZSet等多种结构。非常适合做缓存。三、简答题与代码题1.解析思路:*过程描述:简述三次握手的三个步骤(SYN,SYN+ACK,ACK)。*为什么需要三次握手:为了确认双方的发送和接收能力都正常,防止失效的连接请求突然传到服务端造成错误。例如,客户端发送的旧连接请求在网络中滞留,服务端误以为是新的连接请求而建立连接,浪费资源。*RST包发生的情况:如果客户端发送SYN后一直收不到SYN+ACK,客户端会认为连接失败。客户端发送RST包给服务端,表示“我不再等待这个连接了,请丢弃”。服务端收到RST后,会直接丢弃该请求并终止连接,不再建立连接。2.解析思路:*JDK1.7:数据结构为数组+链表。扩容时采用头插法,导致多线程环境下链表可能形成环形链表,进而在遍历时造成CPU飙高(死循环)。*JDK1.8:数据结构为数组+链表+红黑树(链表长度>=8且数组长度>=64时转红黑树)。扩容时采用尾插法,解决了死循环问题。查找效率在数据量大时由O(n)优化到O(logn)。3.代码实现:```javapublicclassListNode{intval;ListNodenext;ListNode(intx){val=x;}}classSolution{publicListNodereverseList(ListNodehead){ListNodeprev=null;ListNodecurr=head;while(curr!=null){ListNodenextTemp=curr.next;//1.保存下一个节点curr.next=prev;//2.当前节点指向前一个节点prev=curr;//3.前指针后移curr=nextTemp;//4.当前指针后移}returnprev;}}```4.解析思路:*定义:死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。*四个必要条件:1.互斥条件:资源只能被一个进程使用。2.请求与保持条件:进程已持有至少一个资源,但又申请新资源,且新资源被占用。3.不剥夺条件:进程已获得的资源,在未使用完之前不能被强行剥夺。4.循环等待条件:存在资源循环等待链。*解决方法:破坏上述四个条件之一。常用的策略有:

温馨提示

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

最新文档

评论

0/150

提交评论