版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025年软考软件设计师考试试题及答案一、单项选择题(每题1分,共30分。每题只有一个最符合题意的选项,错选、多选、未选均不得分)1.在面向对象设计中,若类A通过接口I调用类B的方法,而类B又通过同一接口I回调类A的方法,这种设计模式最可能是A.观察者模式 B.策略模式 C.中介者模式 D.访问者模式答案:C解析:中介者模式通过引入中介对象,使各同事对象只与中介交互,从而解耦;双向调用常见于中介者。2.某实时系统采用固定优先级抢占式调度,任务集如下表所示(单位:ms),若采用速率单调(RM)算法,则系统可调度性判定结果为|任务|周期T|执行时间C||||||τ1|6|2||τ2|8|3||τ3|12|4|A.可调度 B.不可调度 C.需进一步计算响应时间 D.信息不足答案:B解析:RM利用率上界为n(2^(1/n)−1),n=3时约0.779。实际利用率=(2/6+3/8+4/12)=0.333+0.375+0.333=1.041>0.779,故不可调度。3.在TCP拥塞控制中,发送端收到3个重复ACK后,若此时拥塞窗口cwnd=16MSS,ssthresh=20MSS,则下一步cwnd与ssthresh的取值分别为A.8与10 B.16与8 C.8与16 D.10与8答案:C解析:收到3个重复ACK触发快速重传,进入快速恢复:ssthresh=cwnd/2=8,cwnd=ssthresh+3=11;但题目未说明已进入快速恢复,若仅指第一次降窗,则cwnd=8,ssthresh=16。4.某软件项目采用COCOMOII模型,估算得到规模为120KSLOC,调整因子EM=1.15,复用调整因子AAM=0.9,则最终工作量最接近A.450人月 B.520人月 C.580人月 D.640人月答案:B解析:基本工作量=2.94×(120)^1.1≈2.94×217≈638人月;调整后=638×1.15×0.9≈520人月。5.在IPv6中,若节点收到一个跳数限制(HopLimit)为1的数据包,且该节点非组播组成员,则其处理动作为A.转发并减1 B.丢弃并回送ICMPv6超时 C.丢弃不回送 D.回送ICMPv6参数问题答案:C解析:HopLimit=1时,非目的节点直接丢弃,不向源回送任何报文,避免放大攻击。6.给定关系模式R(A,B,C,D,E,F)与函数依赖集F={AB→C,C→D,D→EF,F→B},则属性集{AB}的闭包为A.{A,B,C,D} B.{A,B,C,D,E,F} C.{A,B,C,D,E} D.{A,B,C,F}答案:B解析:由AB→C得C;由C→D得D;由D→EF得E,F;由F→B已含B,故闭包为全部属性。7.在UML2.5中,下列关于组合片段(CombinedFragment)的描述错误的是A.opt表示可选执行 B.loop至少执行一次 C.break可跳出当前片段 D.alt为多选一答案:B解析:loop的minint可为0,即允许0次,故“至少一次”错误。8.某B+树索引节点大小为4KB,指针占8B,键值占12B,则该节点最多可存储的键值数量为A.200 B.204 C.205 D.208答案:C解析:设键值数n,则(n+1)×8+n×12≤4096→20n+8≤4096→n≤204.4,取整204;但B+树键与指针交替,最后多一个指针,故n=204键,205指针,键值数204。9.在Spring框架中,下列关于@Transactional注解的隔离级别设置正确的是A.Isolation.READ_UNCOMMITTED可防止脏读 B.Isolation.REPEATABLE_READ可防止幻读 C.Isolation.SERIALIZABLE性能最高 D.Isolation.DEFAULT使用数据库默认答案:D解析:A不能防脏读;B不能防幻读;C性能最低;D正确。10.采用哈夫曼编码对字符集{a,b,c,d,e}编码,出现频率分别为{15,7,6,4,3},则编码长度最长的字符的码长为A.2 B.3 C.4 D.5答案:C解析:构造得e=4位,如0000。11.在操作系统中,发生“Belady异常”的页面置换算法是A.FIFO B.LRU C.Clock D.OPT答案:A解析:FIFO存在Belady异常,即增加帧数反而缺页率上升。12.某分布式系统采用Raft共识算法,若集群节点数为7,则最多可容忍的拜占庭故障数为A.1 B.2 C.3 D.4答案:B解析:Raft为非拜占庭容错,仅容忍崩溃故障,公式为⌊(N−1)/2⌋=3;但题目问“拜占庭”,Raft本身不解决拜占庭,若强行映射,则0;然而近年扩展版RaftBFT可容忍f<⌊N/3⌋,即N=7时f=2。13.在Python3.11中,下列表达式值为True的是A.hash('a')==ord('a') B.isinstance(True,int) C.[]is[] D.{1,2}<{1,2,3}答案:B解析:bool为int子类;D应为<,但集合使用<表示真子集,{1,2}<{1,2,3}为True;B亦为True;单选最优选B。14.某软件公司采用DevOps,在CI阶段自动运行单元测试,其首要目标是A.发现性能瓶颈 B.尽早暴露缺陷 C.验证部署脚本 D.生成测试报告答案:B解析:CI核心在于快速反馈,尽早暴露缺陷。15.在HTTPS握手过程中,客户端在ClientKeyExchange消息中发送的内容是A.预主密钥的RSA公钥加密结果 B.主密钥明文 C.服务器随机数 D.DH参数答案:A解析:RSA密钥交换时,客户端用服务器公钥加密预主密钥。16.给定C语言代码:```cintf(unsignedintx){intc=0;while(x){x&=(x1);c++;}returnc;}```则f(2025)的返回值为A.8 B.9 C.10 D.11答案:B解析:2025=1024+512+256+128+64+32+8+1,二进制1的个数为9。17.在软件体系结构评估中,ATAM方法主要关注A.性能与可靠性 B.可用性与可修改性 C.安全性与可测试性 D.所有质量属性答案:B解析:ATAM聚焦商业驱动的质量属性,核心为可修改性、可用性、性能、安全性等,但最突出可修改性。18.某微服务采用事件溯源(EventSourcing)模式,其事件存储最适合的数据库类型为A.关系型 B.列族 C.文档型 D.仅追加日志型答案:D解析:事件溯源要求不可变、顺序追加,仅追加日志最契合。19.在正则表达式引擎中,(a|b)a(a|b){10}匹配的字符串长度最小值为A.10 B.11 C.12 D.13答案:B解析:至少1+10=11。20.下列关于Dockerfile指令的描述,正确的是A.COPY支持URL源路径 B.ADD可自动解压tar C.RUN指令生成的层可被后续指令复用 D.ENTRYPOINT不能与CMD共用答案:B解析:ADD支持自动解压;COPY不支持URL;RUN层可复用但非“生成层可被复用”表述;ENTRYPOINT与CMD可组合。21.在敏捷开发中,故事点(StoryPoint)估算主要反映A.工时 B.复杂度与工作量 C.商业价值 D.风险答案:B解析:故事点为相对度量,综合复杂度、工作量、不确定性。22.某系统采用三级页表,页面大小为4KB,虚拟地址48位,则页内偏移占A.10 B.12 C.14 D.16答案:B解析:4KB=2^12,偏移12位。23.在MySQL8.0中,执行SELECTFROMtWHEREa=1ANDb>2ORDERBYcLIMIT1;最优索引为A.(a) B.(a,b) C.(a,b,c) D.(a,c,b)答案:C解析:等值+范围+排序,复合索引(a,b,c)可覆盖where与order。24.在软件著作权登记中,下列材料不属于必须提交的是A.源代码前30页 B.文档前10页 C.开发人员身份证明 D.申请表答案:C解析:登记不强制提交身份证明。25.某算法时间复杂度为O(nlogn),在输入规模扩大4倍时,理论运行时间约为原来的A.4倍 B.8倍 C.8log4倍 D.4log4倍答案:D解析:T(4n)/T(n)=4nlog(4n)/(nlogn)=4(1+log4/logn),当n较大时≈4。26.在IPv4子网划分中,若需要容纳500台主机,则最小子网掩码为A./22 B./23 C./24 D./25答案:B解析:2^9=512≥500+2,主机位9,掩码/23。27.在操作系统中,发生“抖动”的根本原因是A.内存容量不足 B.置换算法不当 C.进程数量过多 D.缺页率过高答案:B解析:抖动由置换算法不当导致频繁换入换出。28.在Git工作流中,命令gitrebaseiHEAD~3的主要作用是A.合并三次提交 B.交互式改写历史 C.回退三次提交 D.创建分支答案:B解析:i交互式,可改写、合并、删除提交。29.在risk管理中,若某风险发生概率为0.3,影响为损失6万元,则其期望货币价值(EMV)为A.1.8万元 B.−1.8万元 C.6万元 D.−6万元答案:B解析:EMV=0.3×(−6)=−1.8万元。30.在软件测试中,下列覆盖准则最强的是A.语句覆盖 B.判定覆盖 C.条件覆盖 D.路径覆盖答案:D解析:路径覆盖包含所有执行路径,最强。二、案例分析题(共5题,每题10分,共50分)1.某电商平台拟升级订单模块,需求如下:(1)支持订单状态实时推送给用户;(2)高并发下保证库存扣减正确;(3)可水平扩展,支持峰值10万TPS;(4)兼容现有MySQL事务。请给出系统架构设计,并说明关键技术选型与理由。答案:采用微服务+事件驱动架构:1.订单服务、库存服务、通知服务独立部署;2.使用Kafka作为事件总线,订单创建事件发布,库存服务消费并扣减,利用幂等键防止重复;3.库存扣减采用乐观锁(version字段)+分段锁(商品维度),失败事件发布到DLQ,人工补偿;4.推送采用WebSocket长连接,网关层集成Nginx+Lua,支持百万并发;5.事务:订单服务本地事务提交后发布事件,使用RocketMQ事务消息或Kafka事务API,保证最终一致;6.扩展:订单服务无状态,K8sHPA根据CPU+延迟指标自动扩容;7.兼容MySQL:库存服务读写分离,热点商品缓存到Redis,采用Lua脚本保证原子性。2.阅读下列代码,指出存在的线程安全问题,并给出两种修复方案。```javapublicclassCounter{privateintcount=0;publicintincrement(){return++count;}publicintget(){returncount;}}```答案:问题:++count非原子,多线程出现丢失更新。方案一:使用AtomicInteger```javaprivatefinalAtomicIntegercount=newAtomicInteger();publicintincrement(){returncount.incrementAndGet();}```方案二:加锁```javaprivatefinalObjectlock=newObject();publicintincrement(){synchronized(lock){return++count;}}```3.某系统采用SpringCloudGateway,需在网关层实现基于JWT的权限控制,要求:(1)统一验证Token;(2)将用户ID写入请求头供下游服务;(3)支持Token刷新;(4)拒绝无权限请求返回401。请给出过滤器核心代码(Kotlin或Java均可)。答案:```kotlin@ComponentclassJwtAuthFilter:GlobalFilter,Ordered{overridefungetOrder()=100overridefunfilter(exchange:ServerWebExchange,chain:GatewayFilterChain):Mono<Void>{valtoken=exchange.request.headers.getFirst("Authorization")?.removePrefix("Bearer")returnif(token.isNullOrBlank()){reject(exchange,"Missingtoken")}else{try{valclaims=Jwts.parser().setSigningKey("secret").parseClaimsJws(token).bodyvaluserId=claims.subjectvalnewReq=exchange.request.mutate().header("XUserId",userId).build()chain.filter(exchange.mutate().request(newReq).build())}catch(e:Exception){reject(exchange,"Invalidtoken")}}}privatefunreject(ex:ServerWebExchange,msg:String):Mono<Void>{ex.response.statusCode=HttpStatus.UNAUTHORIZEDreturnex.response.setComplete()}}```4.某关系数据库出现慢查询,执行计划显示全表扫描,表结构:```sqlCREATETABLEorders(idBIGINTPRIMARYKEY,user_idBIGINT,statusTINYINT,create_timeDATETIME,INDEXidx_user(user_id));```查询:SELECTFROMordersWHEREuser_id=123ANDstatus=1ORDERBYcreate_timeDESCLIMIT10;请给出优化方案并说明原理。答案:建立复合索引:```sqlCREATEINDEXidx_user_status_timeONorders(user_id,status,create_timeDESC);```原理:1.覆盖where条件最左前缀;2.status为等值,create_time为排序,可索引顺序扫描,避免文件排序;3.索引已按create_time降序,直接取前10行,回表次数10次,代价最低;4.若查询列改为覆盖索引,可进一步使用idx_user_status_time(user_id,status,create_time)INCLUDE(id)(PostgreSQL)或冗余索引。5.某系统采用Redis缓存热点数据,缓存穿透与雪崩频发,请给出完整治理方案。答案:1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 对负载为100kg的四自由度搬运机器人进行机械本体设计
- 2025年大学本科四年级(粉体工程)粉体加工技术测试题及答案
- 2025年大学四年级(审计学)审计学基础试题及答案
- 2025年高职材料工程技术(材料工程应用)试题及答案
- 2025年中职市政工程技术(市政工程实务)试题及答案
- 2026年语言培训(教学方法)考题及答案
- 2025年大学(工程造价)工程经济学综合测试卷及解析
- 2025年中职环境设计(室内设计)期末试题
- 2025年高职道路与桥梁工程技术(桥梁施工)试题及答案
- 2025年大学(食品科学与工程)食品工艺学进阶综合测试卷及解析
- 《水利水电工程隧洞超前地质预报规程》
- 创新创业心理学知到智慧树章节测试课后答案2024年秋东北农业大学
- 附睾囊肿的临床特征
- 《导诊服务礼仪》课件
- 2024年征用农村集体土地宣传讲话稿(4篇)
- GB/T 2423.65-2024环境试验第2部分:试验方法试验:盐雾/温度/湿度/太阳辐射综合
- 家园共育背景下幼儿良好生活习惯与能力的培养研究
- 《毛遂自荐》成语故事
- 小班化教学和合作学习
- 《继发性高血压》课件
- 数字媒体与数字广告
评论
0/150
提交评论