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

下载本文档

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

文档简介

2026计算机岗面试高频题含解析考试时间:______分钟总分:______分姓名:______一、单项选择题1.在TCP/IP协议栈中,负责将网络层的数据包封装成帧的是哪一层?A.网络层B.传输层C.数据链路层D.物理层2.关于MySQL数据库中B+树的特性,以下描述正确的是?A.B+树的非叶子节点也存储数据B.B+树的所有叶子节点通过指针连接,适合范围查询C.B+树的查询效率比B树更不稳定D.B+树的高度通常比B树小,因此查询速度更快3.在Redis中,关于缓存穿透、缓存击穿和缓存雪崩的区别,以下说法错误的是?A.缓存穿透是指查询一个不存在的数据,缓存和数据库都没有B.缓存击穿是指某个热点Key突然失效,大量请求直接打到数据库C.缓存雪崩是指大量Key同时过期,导致请求全部回源数据库D.缓存穿透可以通过设置永不过期来解决4.下列关于进程和线程的描述,错误的是?A.线程是CPU调度和分派的基本单位B.进程拥有独立的内存空间,线程共享进程的内存空间C.进程间的通信比线程间通信更复杂,但更安全D.创建线程的开销比创建进程的开销小得多5.在设计高并发秒杀系统时,为了防止超卖,通常采用的方案不包括?A.数据库乐观锁B.Redis的原子递减操作C.消息队列削峰填谷D.直接在数据库层面进行库存扣减6.以下算法中,时间复杂度最低的排序算法是?A.快速排序B.归并排序C.堆排序D.冒泡排序7.在TCP三次握手过程中,第二次握手发送的标志位是?A.SYN,ACKB.SYNC.FIN,ACKD.ACK8.关于大模型(LLM)的RAG(检索增强生成)技术,以下描述正确的是?A.RAG不需要预训练,直接利用微调模型B.RAG通过外部知识库增强模型的回答准确性C.RAG主要用于解决模型的“幻觉”问题D.RAG技术不需要向量数据库9.MySQL事务的隔离级别中,解决“脏读”问题的级别是?A.读未提交B.读已提交C.可重复读D.串行化10.在Linux系统中,查看当前进程状态,发现大量进程处于D状态(不可中断睡眠),通常意味着什么?A.进程正在等待I/O操作完成B.进程正在执行CPU密集型任务C.进程即将被调度执行D.进程刚刚被终止11.以下关于HTTP/3协议的描述,错误的是?A.HTTP/3基于QUIC协议,使用UDP传输B.HTTP/3解决了TCP队头阻塞问题C.HTTP/3握手过程比HTTP/2更复杂,延迟更高D.HTTP/3的连接迁移不需要重新建立连接12.在分布式系统中,CAP定理指的是?A.一致性、可用性、分区容错性B.持久性、可用性、分区容错性C.一致性、原子性、持久性D.一致性、完整性、可用性二、多项选择题1.以下哪些是TCP协议的标志位(Flags)?A.SYNB.ACKC.FIND.RST2.MySQL中,以下哪些情况会导致索引失效?A.在WHERE子句中对字段进行函数操作B.对字段进行LIKE查询,以通配符开头(如%abc)C.对字段进行隐式类型转换D.对字段进行ORDERBY操作3.下列哪些是Redis支持的数据类型?A.StringB.ListC.TreeD.Set4.以下哪些算法属于不稳定排序算法?A.冒泡排序B.快速排序C.归并排序D.希尔排序5.在系统设计面试中,常见的负载均衡算法有哪些?A.轮询B.加权轮询C.最小连接数D.一致性哈希6.关于数据库事务的ACID特性,以下说法正确的是?A.原子性是指事务中的操作要么全部成功,要么全部失败B.一致性是指事务执行前后,数据库的完整性约束没有被破坏C.隔离性是指并发执行的事务之间互不干扰D.持久性是指事务一旦提交,对数据的修改是永久的,即使系统故障也不会丢失7.在React或Vue等前端框架中,以下哪些是常见的性能优化手段?A.路由懒加载B.防抖和节流C.列表渲染时使用keyD.过度使用全局状态管理8.关于微服务架构,以下描述正确的是?A.微服务将单一应用程序划分成一组小的服务B.每个服务运行在自己的进程中C.服务间通过轻量级通信机制(通常是HTTPAPI)协作D.微服务架构中,所有服务必须使用同一种编程语言开发9.在大模型应用开发中,以下哪些是PromptEngineering的技巧?A.提供Few-shotExamples(少样本示例)B.明确角色设定C.使用分隔符来区分输入的不同部分D.使用过长的上下文来包含所有信息10.以下哪些是操作系统进程间通信(IPC)的方式?A.管道B.消息队列C.共享内存D.虚拟内存三、简答题1.请简述TCP三次握手的过程,并说明为什么需要三次握手,而不是两次?2.在MySQL数据库中,什么情况下索引会失效?请列举至少三种常见场景。3.什么是缓存雪崩?如何有效预防和解决缓存雪崩问题?4.什么是死锁?产生死锁的四个必要条件是什么?5.请解释什么是RAG(检索增强生成)技术,它解决了大模型的什么痛点?四、系统设计题1.请设计一个短链接生成服务,要求能够将长URL转换为短URL,并能够正确重定向回原URL。请从架构设计、数据库设计、高并发处理、安全性等角度进行阐述。试卷答案一、单项选择题1.答案:C解析:数据链路层的主要职责是将网络层传来的IP数据报组装成帧,并在物理介质上传输。物理层负责比特流的传输,网络层负责IP包的转发,传输层负责端到端的通信。2.答案:B解析:B+树的非叶子节点只存储索引信息,不存储数据,这样可以存储更多的索引项,降低树的高度。所有叶子节点通过指针连接,非常适合数据库的范围查询。3.答案:D解析:缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,导致这个不存在的数据每次请求都要到存储层去查。设置永不过期并不能解决根本问题,反而可能让无效数据一直占用缓存空间。通常采用布隆过滤器或缓存空值来解决。4.答案:C解析:线程是CPU调度的基本单位,进程是资源分配的基本单位。线程间共享进程的内存(栈除外),通信方便;进程间通信相对复杂,但更独立、更安全。5.答案:D解析:直接在数据库层面进行库存扣减虽然能保证数据最终一致性,但在高并发场景下,如果仅仅执行`UPDATEstockSETnum=num-1WHEREid=1`,无法防止并发情况下的超卖(因为数据库行锁在高并发下可能失效或等待时间过长)。通常采用Redis的原子操作(如decr)配合数据库兜底,或者使用数据库乐观锁(version字段)来防止超卖。消息队列主要作用是削峰填谷。6.答案:A、B、C解析:快速排序、归并排序、堆排序的时间复杂度都是O(nlogn),属于高效排序算法。冒泡排序的时间复杂度是O(n^2),效率最低。7.答案:A解析:第一次握手:客户端发送SYN,请求建立连接;第二次握手:服务端收到SYN后,回复SYN+ACK,确认收到并请求确认;第三次握手:客户端收到ACK,确认连接建立。第二次握手必须包含SYN和ACK。8.答案:B、C解析:RAG(检索增强生成)通过引入外部知识库,在生成回答前先检索相关信息,从而提高答案的准确性和时效性,减少大模型的“幻觉”。向量数据库是RAG实现的关键组件。9.答案:B解析:读已提交(RC)隔离级别解决了脏读问题,即一个事务只能读取到其他事务已提交的数据。10.答案:A解析:D状态(不可中断睡眠)表示进程正在等待I/O操作完成,此时不能被信号中断。S状态(可中断睡眠)表示进程正在等待某个事件,可以被信号唤醒。11.答案:C解析:HTTP/3基于QUIC协议(基于UDP),解决了TCP的队头阻塞问题。HTTP/3的握手过程比HTTP/2更简化,支持0-RTT(零往返时间)连接,延迟更低。12.答案:A解析:CAP定理指出,分布式系统不可能同时满足一致性(C)、可用性(A)和分区容错性(P),只能同时满足其中两项。二、多项选择题1.答案:A、B、C、D解析:TCP协议头部包含的标志位有:SYN(建立连接)、ACK(确认)、FIN(断开连接)、RST(重置连接)。2.答案:A、B、C解析:MySQL索引失效场景包括:对列进行函数操作、隐式类型转换、使用OR连接条件且字段无索引、LIKE查询以通配符开头(如%abc)、在WHERE子句中对字段进行ORDERBY操作(虽然OR不会直接失效,但优化器可能不走索引,不过标准考点通常指前三种)。3.答案:A、B、D解析:Redis支持的数据类型包括String(字符串)、List(列表)、Set(集合)、Hash(哈希表)、ZSet(有序集合)。Tree不是Redis的内置数据类型。4.答案:B、D解析:快速排序和希尔排序是不稳定的排序算法。归并排序和冒泡排序是稳定的。5.答案:A、B、C、D解析:常见的负载均衡算法包括:轮询(RoundRobin)、加权轮询(WeightedRoundRobin)、最少连接数(LeastConnections)、源地址哈希(一致性哈希)等。6.答案:A、B、C、D解析:ACID分别代表:原子性(Atomicity,操作不可分割)、一致性(Consistency,事务前后数据完整性一致)、隔离性(Isolation,并发执行互不干扰)、持久性(Durability,提交后不可撤销)。7.答案:A、B、C解析:前端性能优化手段包括:路由懒加载、防抖和节流、列表渲染使用唯一key、使用虚拟列表、图片懒加载等。过度使用全局状态管理会增加内存开销和维护成本,不属于优化手段。8.答案:A、B、C解析:微服务架构的特点包括服务独立、进程隔离、轻量级通信(HTTP/gRPC)、服务治理。微服务架构不强制要求所有服务使用同一种编程语言。9.答案:A、B、C解析:PromptEngineering技巧包括:提供Few-shotExamples(少样本提示)、明确角色设定、使用分隔符(如###)区分输入、提供详细的任务描述。使用过长上下文是资源浪费,不是技巧。10.答案:A、B、C解析:进程间通信(IPC)方式包括:管道、消息队列、共享内存、信号量、套接字等。虚拟内存是操作系统的内存管理机制,不是进程间通信的直接方式。三、简答题1.解析:*过程:1.客户端发送`SYN=1,seq=x`给服务器,进入SYN_SENT状态。2.服务器收到后,回复`SYN=1,ACK=1,seq=y,ack=x+1`给客户端,进入SYN_RCVD状态。3.客户端收到后,回复`ACK=1,seq=x+1,ack=y+1`给服务器,连接建立,双方进入ESTABLISHED状态。*原因:1.同步序列号:确认双方的接收与发送能力是否正常。2.防止失效的连接请求:如果只有两次握手,服务端发送的确认如果因为网络延迟到达客户端,客户端会误以为要建立连接,从而浪费资源。2.解析:*索引失效场景:1.对字段进行函数操作:如`WHEREYEAR(create_time)=2024`,导致索引无法使用。2.隐式类型转换:如字段是字符串但传入了数字,如`WHEREuser_id=123`,会导致索引失效。3.通配符开头查询:如`WHEREnameLIKE'%abc'`,会导致全表扫描。4.OR连接:当OR两边的字段没有同时使用索引时,可能导致索引失效。5.在WHERE子句中对字段进行ORDERBY:如果没有使用索引覆盖,可能会触发文件排序。3.解析:*定义:缓存雪崩是指缓存中大量或全部数据在同一时间点失效,导致所有请求直接冲击数据库,造成数据库瞬间压力过大甚至宕机。*预防与解决:1.随机过期时间:在设置缓存过期时间时,增加一个随机值,避免大量Key同时过期。2.互斥锁:当缓存失效时,不立即重建,而是通过分布式锁控制只有一个线程去查询数据库并更新缓存。3.熔断限流:当检测到数据库压力过大时,直接返回默认值或降级页面,防止数据库崩溃。4.热点数据永不过期:对于热点数据,逻辑删除后标记为“删除中”,不设置过期时间。4.解析:*定义:死锁是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。*四个必要条件:1.互斥条件:资源是独占的,一个资源只能被一个进程使用。2.请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。3.不剥夺条件:进程已获得的资源,在未使用完之前,不能强行剥夺。4.循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。5.解析:*定义:RAG(Retrieval-AugmentedGeneration)是一种将检索系统与大语言模型(LLM)结合的技术。*原理:在生成回答之前,先根据用户的问题从外部知识库(如文档、数据库)中检索相关信息,然后将这些信息作为上下文提供给LLM,让LLM基于这些上下文生成答案。*解决的痛点:主要解决大模型的“知识时效性差”(不知道最新发生的事)和“幻觉问题”(一本正经地胡说八道),通

温馨提示

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

评论

0/150

提交评论