2025上半年软考软件设计师考试真题(网友回忆版)附答案_第1页
2025上半年软考软件设计师考试真题(网友回忆版)附答案_第2页
2025上半年软考软件设计师考试真题(网友回忆版)附答案_第3页
2025上半年软考软件设计师考试真题(网友回忆版)附答案_第4页
2025上半年软考软件设计师考试真题(网友回忆版)附答案_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

2025上半年软考软件设计师考试练习题(网友回忆版)附答案1.单项选择题(每题1分,共40分)1.1在操作系统中,发生“颠簸”现象的根本原因是A.页面置换算法不合理B.进程数量过多C.内存容量不足D.CPU速度过慢答案:A1.2若一棵二叉树的后序遍历序列为DABFC,中序遍历序列为DAFBC,则其先序遍历序列为A.FDBACB.FADBCC.FDABCD.FABDC答案:C1.3软件过程模型中,强调“风险驱动”的是A.瀑布模型B.V模型C.螺旋模型D.增量模型答案:C1.4给定关系模式R(A,B,C,D)与函数依赖集F={A→B,B→C,C→D},则R的候选键为A.AB.BC.CD.D答案:A1.5IPv6地址2001:0DB8:0000:0000:0000:FF00:0042:8329的压缩表示为A.2001:DB8::FF00:42:8329B.2001:DB8:0:0:0:FF00:42:8329C.2001:DB8::FF00:0042:8329D.2001:DB8:0::FF00:42:8329答案:A1.6在UML用例图中,用例之间的关系“包含”表示A.扩展关系B.泛化关系C.使用关系D.依赖关系答案:C1.7若信号量S的初值为3,当前值为2,则表示等待该信号量的进程数为A.0B.2C.3D.5答案:B1.8下列排序算法中,平均时间复杂度为O(nlogn)且稳定的是A.快速排序B.堆排序C.归并排序D.希尔排序答案:C1.9在TCP报文段中,用于实现“三次握手”同步序号的标志位组合为A.SYNB.SYN+ACKC.ACKD.FIN答案:B1.10若采用IEEE754单精度浮点格式,则十进制0.125的十六进制机器码为A.BF000000B.3E000000C.BE000000D.80000000答案:A1.11在敏捷开发中,负责维护产品待办列表的角色是A.ScrumMasterB.产品负责人C.开发团队D.项目经理答案:B1.12若循环队列存储在数组A[0..m1]中,队头指针front指向队首元素,队尾指针rear指向队尾元素的下一个位置,则队列长度为A.(rearfront+m)modmB.(rearfront+1)modmC.rearfrontD.rearfront+1答案:A1.13在软件测试中,判定覆盖要求A.每个语句至少执行一次B.每个判定的每个取值至少执行一次C.每个判定的每个条件取值至少执行一次D.每条路径至少执行一次答案:B1.14若采用哈夫曼编码,字符集{a,b,c,d,e}出现频度分别为5,7,10,15,18,则字符c的编码长度(比特)为A.2B.3C.4D.5答案:B1.15在数据库事务的ACID特性中,“隔离性”通过A.日志B.锁机制C.检查点D.影子页答案:B1.16若一个无向连通图有n个顶点,则其生成树的边数为A.nB.n1C.n+1D.2n答案:B1.17在C语言中,语句printf("%d\n",5["ABCDE"]);的输出为A.65B.69C.5D.编译错误答案:B1.18若采用页式虚拟存储管理,页面大小为4KB,逻辑地址为0x3A7F,则页内偏移量为A.0x3A7FB.0xA7FC.0x7FD.0x3A答案:B1.19在面向对象设计中,LSP(里氏替换原则)要求A.高层模块不依赖低层模块B.子类对象可替换父类对象且行为不变C.类修改应通过扩展而非修改源代码D.接口应小而完备答案:B1.20若某软件项目采用COCOMOII模型,规模10KLOC,选择“半独立”模式,则工作量系数a为A.2.94B.3.0C.3.6D.2.5答案:A(1.211.40略,共40题,每题1分,答案附后)2.多项选择题(每题2分,共10分,多选少选均不得分)2.1下列属于软件质量模型ISO/IEC25010外部质量特性的是A.功能性B.可靠性C.可移植性D.可维护性答案:ABC2.2关于死锁,下列说法正确的是A.系统进入不安全状态一定会发生死锁B.银行家算法可避免死锁C.破坏“请求与保持”条件可预防死锁D.资源分配图含环则一定发生死锁答案:BC2.3下列关于HTTP/2的描述正确的是A.采用二进制分帧B.支持服务器推送C.默认开启头部压缩D.基于SPDY协议设计答案:ABCD2.4在类图中,下列属于结构型设计模式的是A.适配器模式B.桥接模式C.策略模式D.组合模式答案:ABD2.5下列关于Git的说法正确的是A.gitresethard会修改工作区B.gitcherrypick可提取单个提交C.gitrebase会改变提交历史D.gitstash可临时保存工作区修改答案:ABCD3.填空题(每空2分,共20分)3.1若某CPU主频为2GHz,运行一段程序共需执行1.5×10^9条指令,平均CPI为1.2,则CPU时间约为________秒。答案:0.93.2在关系代数中,选择运算的符号为________。答案:σ3.3若采用快速排序对n个元素排序,最坏情况下时间复杂度为________。答案:O(n^2)3.4在OSI七层模型中,负责路由选择与逻辑地址的是________层。答案:网络3.5若某软件项目功能点计数为200,复杂度调整因子为1.1,则调整后功能点为________。答案:2203.6在软件生命周期中,将需求转化为软件体系结构的活动称为________。答案:概要设计3.7若采用RSA算法,公钥为(e,n)=(17,323),则φ(n)=________。答案:2883.8在IPv4中,地址5/28的子网掩码为________。答案:403.9若循环链表头指针为head,则判断链表为空的条件是________。答案:head>next==head3.10在软件测试中,边界值分析依据的假设是________。答案:错误往往发生在输入域的边界上4.简答题(共30分)4.1(6分)说明分页与分段两种内存管理方式的主要区别。答案:1)分页按固定大小划分,分段按逻辑模块划分;2)分页对用户透明,分段对用户可见;3)分页易产生内碎片,分段易产生外碎片;4)分页地址空间一维,分段地址空间二维;5)分页利于物理内存利用,分段利于程序模块共享与保护。4.2(6分)给出两种破坏“循环等待”条件的方法,并举例说明。答案:方法1:资源有序分配法,规定进程只能按编号递增顺序申请资源,例如打印机编号1,磁盘编号2,进程必须先申请打印机再申请磁盘;方法2:一次性申请所有资源,进程运行前声明所需全部资源,系统一次性分配,如数据库事务在开始前锁定所有需访问的表。4.3(8分)某系统采用微服务架构,服务A通过REST同步调用服务B,出现级联故障。请提出三种改进方案并说明原理。答案:1)引入熔断器模式:监控失败率,超过阈值快速失败,避免线程堆积;2)改为异步消息:使用消息队列解耦,服务B故障时消息堆积而非丢失,恢复后自动处理;3)提供降级接口:服务B异常时返回缓存或默认值,保证核心链路可用。4.4(10分)阅读下列代码,指出存在的线程安全问题并给出两种修复方式。```javapublicclassCounter{privateintcount=0;publicintgetCount(){returncount;}publicvoidincrement(){count++;}}```答案:问题:count++非原子操作,多线程读写存在竞态条件。修复1:使用AtomicInteger替换int,incrementAndGet()保证原子性;修复2:在increment方法上加synchronized关键字,确保同一时刻只有一个线程修改。5.应用题(共50分)5.1(10分)图论计算已知无向图G的邻接矩阵如下(顶点编号04):0101010110010111110100110使用Dijkstra算法求顶点0到其余各点的最短距离,填写下表:顶点|最短距离1|______2|______3|______4|______答案:112231425.2(12分)数据库设计某网上商城需记录用户、商品、订单、订单明细。规则:1)用户可下多订单;2)订单含多条明细,每条明细对应一种商品;3)商品库存随订单提交递减;4)需支持退货,退货数量≤订单明细数量。要求:1)画出ER图(文字描述实体及联系即可);2)将ER图转换为关系模式,并标出主键、外键;3)写出一条SQL,查询近30天销售额前10的商品,输出商品ID、名称、总销售额。答案:1)实体:用户(用户ID,…)、商品(商品ID,…)、订单(订单ID,…)、订单明细(订单ID,商品ID,数量,单价)、退货明细(退货ID,订单ID,商品ID,退货数量,日期)联系:用户订单1:N;订单订单明细1:N;订单明细商品N:1;退货明细参照订单明细。2)关系模式:用户(用户ID,…,primarykey用户ID)商品(商品ID,名称,库存,…,primarykey商品ID)订单(订单ID,用户ID,下单日期,…,primarykey订单ID,foreignkey用户IDreferences用户)订单明细(订单ID,商品ID,数量,单价,primarykey(订单ID,商品ID),foreignkey订单IDreferences订单,foreignkey商品IDreferences商品)退货明细(退货ID,订单ID,商品ID,退货数量,退货日期,foreignkey(订单ID,商品ID)references订单明细)3)SQL:SELECTp.商品ID,p.名称,SUM(d.数量d.单价)AS总销售额FROM订单oJOIN订单明细dONo.订单ID=d.订单IDJOIN商品pONp.商品ID=d.商品IDWHEREo.下单日期>=CURDATE()INTERVAL30DAYGROUPBYp.商品ID,p.名称ORDERBY总销售额DESCLIMIT10;5.3(14分)算法设计给定长度为n的整数数组a,元素可正可负,求连续子数组的最大乘积。要求:1)给出算法思想;2)写出伪代码;3)分析时间复杂度与空间复杂度;4)举例a=[2,0,1,4,3,2],给出最大乘积值。答案:1)动态规划,同时维护以i结尾的最大正积maxPos与最小负积minNeg,考虑负负得正;2)伪代码:maxPos=a[0];minNeg=a[0];ans=a[0];fori=1ton1ifa[i]<0swap(maxPos,minNeg);maxPos=max(a[i],maxPosa[i]);minNeg=min(a[i],minNega[i]);ans=max(ans,maxPos);returnans;3)时间O(n),空间O(1);4)最大乘积=4(3)2=24的绝对值24,实际最大乘积为4。5.4(14分)软件架构评估某电商平台原采用单体Spring应用,高峰期订单服务响应时间3s,吞吐仅500TPS。现计划拆分为微服务:用户、商品、订单、支付、库存。问题:1)给出三种性能提升策略并说明预期效果;2)指出拆分后可能引入的三种新问题并给出缓解措施;3)设计一套基于Prometheus+Grafana的监控方案,列出关键指标与告警阈值。答案:1)策略:a)订单服务独立水平扩展,预期TPS提升至20

温馨提示

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

评论

0/150

提交评论