2026年软件工程师中级笔试题集_第1页
2026年软件工程师中级笔试题集_第2页
2026年软件工程师中级笔试题集_第3页
2026年软件工程师中级笔试题集_第4页
2026年软件工程师中级笔试题集_第5页
已阅读5页,还剩8页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

2026年软件工程师(中级)笔试题集一、选择题(每题2分,共20题)1.【2分】在分布式系统中,CAP定理指出系统最多只能同时满足以下哪一项?A.一致性(Consistency)、可用性(Availability)、分区容错性(Partitiontolerance)B.一致性(Consistency)或分区容错性(Partitiontolerance)C.可用性(Availability)或分区容错性(Partitiontolerance)D.一致性(Consistency)或可用性(Availability)2.【2分】以下哪种数据结构最适合实现LRU(最近最少使用)缓存算法?A.链表B.哈希表C.堆D.B+树3.【2分】在微服务架构中,服务间通信常用的异步消息队列是?A.gRPCB.RESTfulAPIC.RabbitMQD.WebSocket4.【2分】以下哪个设计模式适用于处理对象间的高度耦合?A.单例模式B.代理模式C.观察者模式D.装饰器模式5.【2分】在React中,以下哪个钩子用于处理副作用?A.`useState`B.`useEffect`C.`useContext`D.`useReducer`6.【2分】SQL中,以下哪个函数用于返回字符串的长度?A.`LEN()`B.`LENGTH()`C.`SIZE()`D.`COUNT()`7.【2分】在Docker中,以下哪个命令用于查看容器日志?A.`dockerps`B.`dockerexec`C.`dockerlogs`D.`dockerrm`8.【2分】Kubernetes中,用于管理Pod副本的组件是?A.DeploymentB.ServiceC.IngressD.ConfigMap9.【2分】在Java中,以下哪个注解用于表示一个类是Spring的配置类?A.`@Component`B.`@Configuration`C.`@Service`D.`@Repository`10.【2分】以下哪种加密算法属于对称加密?A.RSAB.AESC.ECCD.SHA-256二、填空题(每空1分,共10空)1.【10分】(1)在TCP/IP协议栈中,传输层的协议是______和______。(2)数据库事务的ACID特性包括原子性、______、隔离性和持久性。(3)在Linux中,用于查看文件内容的命令是______。(4)CSS中,用于控制元素显示隐藏的属性是______。(5)Python中,用于处理异常的语句是______。(6)在Git中,用于撤销本地未提交更改的命令是______。(7)HTTP协议的默认端口是______。(8)在JavaScript中,用于删除数组的最后一个元素的函数是______。(9)在微服务架构中,用于服务发现的工具是______。(10)Redis的常见数据结构包括字符串、列表、集合、______和有序集合。三、简答题(每题5分,共5题)1.【5分】简述RESTfulAPI的设计原则。2.【5分】解释什么是跨域资源共享(CORS)及其解决方案。3.【5分】描述一下TCP三次握手的过程。4.【5分】说明微服务架构与单体架构的优缺点。5.【5分】什么是JWT?它在身份认证中有何作用?四、编程题(每题15分,共2题)1.【15分】编写一个Python函数,实现LRU缓存算法。要求:-输入:键值对(key,value)和缓存容量(capacity)。-输出:当缓存满时,删除最久未使用的元素,并返回缓存状态。示例:pythonlru_cache(['a:1','b:2','c:3'],2)#输出:['b:2','c:3']lru_cache(['a:1','b:2','c:3','d:4'],2)#输出:['b:2','c:3','d:4']2.【15分】设计一个简单的分布式锁实现方案(无需具体代码,但需说明核心思路)。要求:-需考虑高可用性和分布式环境下的锁一致性。-说明关键组件及其作用。答案与解析一、选择题答案与解析1.B解析:CAP定理指出分布式系统最多只能同时满足一致性、可用性和分区容错性中的两项。2.B解析:哈希表可以快速查找、插入和删除,适合实现LRU缓存(通过哈希表记录元素,链表维护访问顺序)。3.C解析:RabbitMQ是常用的异步消息队列,适用于微服务间的解耦通信。4.C解析:观察者模式允许对象间松耦合,适用于事件监听等场景。5.B解析:`useEffect`钩子用于处理副作用(如数据获取、DOM更新等)。6.A解析:`LEN()`和`LENGTH()`都是SQL中常用的字符串长度函数(具体取决于数据库系统,但多数支持)。7.C解析:`dockerlogs`用于查看容器日志,`dockerps`查看容器列表,`dockerexec`执行容器命令。8.A解析:Deployment是Kubernetes中管理Pod副本的组件,可自动处理Pod的创建、更新和删除。9.B解析:`@Configuration`注解表示一个类是Spring的配置类,用于定义Bean。10.B解析:AES是对称加密算法,而RSA、ECC是公钥加密算法,SHA-256是哈希算法。二、填空题答案与解析1.【10分】(1)TCP和UDP(2)持久性(3)cat(4)display(5)try-except(6)gitreset(7)80(8)pop(9)Eureka(10)哈希表解析:(1)TCP是面向连接的传输层协议,UDP是无连接的。(2)ACID是事务的四个特性。(3)`cat`用于查看文件内容。(4)`display`(CSS中常用`display`属性控制显示隐藏)。(5)`try-except`用于异常处理。(6)`gitreset`可撤销本地更改。(7)HTTP默认端口是80。(8)`pop()`删除数组最后一个元素。(9)Eureka是Netflix开源的服务发现工具。(10)Redis支持哈希表等数据结构。三、简答题答案与解析1.【5分】RESTfulAPI的设计原则:-无状态(Stateless):服务器不存储客户端状态。-无缓存(Cacheable):客户端可控制缓存。-统一接口(UniformInterface):使用标准HTTP方法(GET、POST等)。-分层系统(LayeredSystem):请求可经过中间层。-代码不可见(CodeonDemand):服务器可动态提供代码。2.【5分】CORS是跨域资源共享协议,解决浏览器同源策略问题。解决方案:-服务器设置`Access-Control-Allow-Origin`响应头。-可使用代理或JSONP(不安全)。3.【5分】TCP三次握手:1.客户端发送SYN包(seq=x)→服务器。2.服务器回复SYN-ACK包(seq=y,ack=x+1)→客户端。3.客户端发送ACK包(ack=y+1)→服务器,建立连接。4.【5分】微服务架构:优点:-模块化,易于扩展。-技术异构。缺点:-分布式事务复杂。-部署运维成本高。单体架构:优点:-部署简单。缺点:-扩展困难。5.【5分】JWT(JSONWebToken)是开放标准,用于身份认证。作用:-无状态,可跨域传输。-包含用户信息和签名,验证身份。四、编程题答案与解析1.【15分】pythonclassLRUCache:def__init__(self,capacity):self.capacity=capacityself.cache={}self.order=[]defget(self,key):ifkeyinself.cache:self.order.remove(key)self.order.append(key)returnself.cache[key]return-1defput(self,key,value):ifkeyinself.cache:self.order.remove(key)eliflen(self.cache)>=self.capacity:oldest=self.order.pop(0)delself.cache[oldest]self.cache[key]=valueself.order.append(key)def__repr__(self):returnstr(self.cache)解析:-使用哈希表`cache`存储键值对,`order`列表维护访问顺序。-`get`时移动元素到末尾。-`put`时删除最久未使用元素(如果缓存满)。2.

温馨提示

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

评论

0/150

提交评论