2026年软考《软件设计师》考试试题及答案_第1页
2026年软考《软件设计师》考试试题及答案_第2页
2026年软考《软件设计师》考试试题及答案_第3页
2026年软考《软件设计师》考试试题及答案_第4页
2026年软考《软件设计师》考试试题及答案_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

2026年软考《软件设计师》考试试题及答案计算机中CPU对其访问速度最快的是()。A.内存B.高速缓存CacheC.寄存器D.硬盘答案:C解析:CPU存储层级访问速度从快到慢依次为:寄存器>高速缓存Cache>内存>外存(硬盘),寄存器直接集成在CPU内部,是CPU运算过程中临时存储数据的单元,访问速度最快,因此选C。2.某计算机指令流水线分为取指、译码、执行三个阶段,三个阶段的耗时分别为100ps、80ps、120ps,若连续输入10条指令,该流水线的吞吐率为()。A.约8.3×10^9条/秒B.约7.1×10^9条/秒C.约6.7×10^9条/秒D.约5.9×10^9条/秒答案:B解析:流水线吞吐率计算公式为:TP=指令数/完成总时间。流水线周期为各阶段耗时的最大值,本题中为120ps。完成n条指令的总时间=第一条指令的总耗时+(n-1)×流水线周期=(100+80+120)+(10-1)×120=300+1080=1380ps=1.38×10^-9秒。吞吐率TP=10/(1.38×10^-9)≈7.1×10^9条/秒,因此选B。3.敏捷开发方法中,Scrum框架中,负责协调开发团队、移除团队开发障碍的角色是()。A.产品负责人B.ScrumMasterC.开发团队D.项目发起人答案:B解析:Scrum框架包含三个核心角色:①产品负责人(ProductOwner):负责梳理产品待办列表,排序需求,对产品价值负责;②ScrumMaster(敏捷教练):负责领导、协调团队,帮助团队遵守Scrum规则,移除开发过程中的障碍,服务团队;③开发团队:负责完成迭代交付,自组织完成开发工作。因此本题选B。4.某二叉树的先序遍历序列为ABDGCFE,中序遍历序列为DGBAFCE,则该二叉树的后序遍历序列为()。A.GDBFECAB.DGBEFCAC.GDBACFED.ABDGCEF答案:A解析:根据先序遍历(根-左-右)和中序遍历(左-根-右)重建二叉树:先序第一个节点A是根节点;中序中A左边的DGB是左子树节点,右边的FCE是右子树节点;先序中A之后第一个是B,为左子树的根,中序中B左边DG是B的左子树,B右侧没有节点;先序中B之后是D,为B左子树的根,中序中D右侧是G,左侧无节点,因此D的右孩子是G;左子树重建完成后,再看右子树,先序中左子树节点之后第一个是C,为右子树根节点,中序中C左侧是F,右侧是E,因此C的左孩子为F,右孩子为E。重建完成后,后序遍历(左-右-根)结果为GDBFECA,即GDBFECA,因此选A。5.某系统页面大小为4KB,进程逻辑地址空间为64MB,进程页表中内容如下(表中仅列出部分页号,缺页记为无效):页号0(物理块号10,有效)、页号1(物理块号25,有效)、页号2(物理块号,无效)、页号3(物理块号18,有效),则逻辑地址5000对应的物理地址是()。A.10×4KB+5000B.25×4096+904C.10×4096+904D.发生缺页中断答案:B解析:页内偏移量=逻辑地址mod页面大小,页号=逻辑地址除以页面大小向下取整。本题中页面大小4KB=4096B,计算得页号=5000//4096=1,页内偏移=5000%4096=904。查询页表,页号1对应物理块号为25,状态有效,因此物理地址=物理块号×页面大小+页内偏移=25×4096+904,对应选项B,因此选B。6.设有关系模式:学生(学号,姓名,系部,系主任),课程(课程号,课程名),选课(学号,课程号,成绩),下列SQL语句中,查询“选修了全部课程的学生姓名”的语句,正确的是()。A.SELECT姓名FROM学生WHERENOTEXISTS(SELECT*FROM课程WHERENOTEXISTS(SELECT*FROM选课WHERE选课.学号=学生.学号AND选课.课程号=课程.课程号));B.SELECT姓名FROM学生WHEREEXISTS(SELECT*FROM课程WHERENOTEXISTS(SELECT*FROM选课WHERE选课.学号=学生.学号AND选课.课程号=课程.课程号));C.SELECT姓名FROM学生WHERENOTEXISTS(SELECT*FROM选课WHERE选课.学号=学生.学号);D.SELECT姓名FROM学生WHERE学号IN(SELECT学号FROM选课GROUPBY学号HAVINGCOUNT(*)=COUNT(*));答案:A解析:“选修了全部课程”等价于“不存在一门课程该学生没有选修”,也就是双重否定结构,外层NOTEXISTS表示不存在,内层NOTEXISTS表示不存在该学生选修该课程的记录,逻辑符合,因此A正确。B逻辑表示“不存在没有一门课程没选修”,最终结果是未选修任何课程的学生;C直接筛选出没有选课记录的学生,逻辑错误;D中HAVING子句COUNT(*)统计的是该学生的选课数量,等于该学生的选课总数,不是课程表的总课程数,逻辑错误。7.上述关系模式学生(学号,姓名,系部,系主任),属于第几范式()。A.1NFB.2NFC.3NFD.BCNF答案:B解析:该关系模式的主键是学号,所有属性都是不可再分的原子属性,满足1NF;不存在非主属性对主键的部分函数依赖,满足2NF;存在传递依赖:学号→系部,系部→系主任,因此非主属性系主任传递依赖于主键学号,不满足3NF,因此该关系模式属于2NF,选B。8.UML中,用于描述系统的静态结构,展示一组类、接口和协作以及它们之间关系的图是()。A.用例图B.类图C.顺序图D.状态图答案:B解析:UML图分为结构图和行为图,类图是最常用的静态结构图,描述系统中类的结构、类之间的关系,是面向对象系统建模的核心图。用例图描述用户需求,展示参与者、用例之间的关系;顺序图是交互图,属于行为图,描述对象之间的交互顺序;状态图描述对象在生命周期中的状态转换,属于行为图,因此本题选B。9.大语言模型生成式AI开发中,通过设计输入提示词引导模型输出符合要求内容的技术,称为()。A.预训练B.微调C.提示工程D.对齐答案:C解析:预训练是大模型在大规模通用数据集上训练获得通用能力的过程;微调是在预训练之后,使用特定领域数据集进一步训练模型适配下游任务的过程;提示工程(PromptEngineering)是指通过设计、优化输入提示词,引导大语言模型输出符合要求、高质量结果的技术;对齐是将模型输出调整为符合人类价值观、安全性要求的过程,因此本题选C。10.云原生架构中,用于自动调度容器化工作负载、实现容器集群管理、资源编排的核心系统是()。A.DockerB.Kubernetes(K8s)C.GitLabD.Nginx答案:B解析:Docker是容器镜像构建、运行的工具,提供容器运行环境;Kubernetes(K8s)是谷歌开源的容器编排系统,用于容器集群的自动化部署、扩缩容、资源调度和管理,是云原生架构的核心编排工具;GitLab是代码托管、持续集成的工具;Nginx是反向代理、web服务器软件,因此本题选B。下午案例分析试题及参考答案试题一(本题满分15分,数据流图)说明:某高校要开发一个研究生复试成绩管理系统,核心功能如下:1.招生工作人员录入各专业复试分数线,包括专业代码、专业名称、总分分数线、单科分数线,保存到分数线文件中。2.考生查询成绩时,输入考生编号和姓名,系统验证考生信息合法后,从初试成绩文件中获取初试成绩,从复试成绩文件中获取复试成绩,计算考生加权总成绩,其中加权总成绩=初试成绩×40%+复试成绩×60%。3.系统根据考生报考专业,查询对应专业的复试分数线,判断考生是否满足分数线要求,生成拟录取名单,保存到录取文件中,同时向考生返回成绩和录取结果。4.学院秘书可以按专业导出拟录取名单,提交给研究生院审核备案。已给出顶层数据流图和0层数据流图,问题如下:问题1(3分):请指出顶层数据流图中缺失的外部实体,给出名称。问题2(4分):0层数据流图中定义D1~D4四个数据存储,请对应给出四个数据存储的名称。问题3(4分):根据需求说明,指出加工2“成绩查询与计算”的输入流和输出流分别有哪些,说明各数据流的起点和终点。问题4(4分):若系统新增功能“研究生院可以审核拟录取名单,标记审核结果,审核不通过的名单自动从拟录取名单移除”,请指出0层数据流图需要新增的元素,说明各元素的起点和终点。参考答案问题1:顶层数据流图缺失的外部实体是研究生院。需求中明确说明导出的拟录取名单需要提交给研究生院审核备案,新增功能也涉及研究生院的交互,因此研究生院属于外部实体,共3分。问题2:D1:分数线文件,D2:初试成绩文件,D3:复试成绩文件,D4:录取名单文件。每个对应正确得1分,共4分。问题3:输入流:①考生输入的验证信息(考生编号、姓名):起点为考生,终点为加工2;②初试成绩:起点为D2初试成绩文件,终点为加工2;③复试成绩:起点为D3复试成绩文件,终点为加工2。输出流:①带加权总成绩的考生信息:起点为加工2,终点为加工3“生成录取名单”;②成绩结果:起点为加工2,终点为考生。答对所有输入输出得4分,错漏酌情扣分。问题4:需要新增的内容:①新增外部实体:研究生院;②新增加工:5.审核拟录取名单;③新增输入流:审核结果,起点为研究生院,终点为加工5;拟录取名单,起点为D4录取名单文件,终点为加工5;④新增输出流:更新后的录取名单,起点为加工5,终点为D4录取名单文件。每个点答对得1分,共4分,本题总分15分。试题二(本题满分15分,数据库设计)说明:某连锁书店要开发图书销售管理系统,需求如下:1.品牌旗下有多个分店,每个分店分配唯一的分店编号,系统记录分店名称、地址、联系电话。2.每个分店存放多种图书,每种图书有唯一的ISBN编号,系统记录图书名称、作者、出版社、定价;同一种图书在不同分店的进货价格可以不同,不同分店的库存数量不同。3.系统记录每一笔销售订单,每个订单对应一名顾客,一个订单可以购买多种图书,每种图书可以购买多本,系统记录订单编号、下单时间、顾客姓名、联系电话、每种图书的购买数量、成交单价。逻辑结构设计得到的关系模式如下,部分内容空缺:分店(①,分店名称,地址,联系电话),主键:分店编号图书(②,图书名称,作者,出版社,定价),主键:ISBN库存(分店编号,ISBN,进货价,库存数量),主键:③订单(④,下单时间,顾客姓名,顾客电话),主键:订单编号订单明细(订单编号,ISBN,成交单价,购买数量),主键:(订单编号,ISBN)问题1(4分):补充关系模式中①~④的空缺内容。问题2(3分):指出库存关系模式中的外键,分别说明参照的关系。问题3(4分):说明分店、图书、订单三个实体之间的联系类型,画出核心ER联系结构。问题4(4分):若系统新增会员功能,一个会员可以下多个订单,一个订单对应一个会员,会员信息包括会员编号、姓名、手机号、累计消费、会员等级,请补充新增的关系模式,指出主键和外键。参考答案问题1:①:分店编号;②:ISBN;③:(分店编号,ISBN);④:订单编号。每个空1分,共4分。问题2:库存关系的外键分别为:分店编号,参照分店关系的主键分店编号;ISBN,参照图书关系的主键ISBN,答对两个得3分,少一个扣1分。问题3:分店和图书为多对多联系(一个分店存储多种图书,一种图书存储在多个分店),联系名为库存;分店和订单为一对多联系(一个分店可生成多个订单,一个订单仅属于一个分店);订单和图书为多对多联系(一个订单包含多种图书,一种图书可出现在多个订单中),联系名为订单明细。联系类型标注正确得4分,错漏酌情扣分。问题4:新增关系模式:会员(会员编号,姓名,手机号,累计消费,会员等级),主键为会员编号;订单关系新增属性会员编号,作为外键,参照会员关系的主键会员编号。答对得4分,本题总分15分。试题三(本题满分15分,UML与设计模式)说明:某小区要开发智能门禁系统,核心功能为:用户可以通过刷卡开门、输入密码开门、人脸识别开门三种认证方式开门,门禁控制器验证通过后驱动锁具开门,超时后自动关门;如果验证失败,触发告警提示。不同开门方式的认证流程不同,但是整体的门禁控制流程一致,现采用面向对象方法开发。问题1(6分):说明AccessMode抽象类与三个具体认证类(CardAccess、PasswordAccess、FaceAccess)、AccessController(门禁控制器)与AccessMode之间的关系类型和多重度。问题2(6分):该设计采用了哪种设计模式?说明该设计模式的适用场景,分析在该场景下的设计优势。问题3(3分):若新增指纹开门认证方式,说明需要修改哪些内容,符合什么设计原则。参考答案问题1:①AccessMode与三个具体认证类是泛化(继承)关系,多重度:1个AccessMode对应0到多个具体子类实例;②AccessController与AccessMode是聚合关联关系,一个AccessController聚合1个及以上AccessMode实例,多重度:AccessController端为1,AccessMode端为1..*。每个关系描述正确得3分,共6分。问题2:该设计采用了策略设计模式。策略模式适用场景:系统需要支持多种可互换的算法/行为,需要动态选择其中一种行为,同时需要方便扩展新的算法/行为,客户端不需要感知具体实现细节。该设计的优势:将不同的开门认证方式封装为独立的策略类,将认证行为和门禁控制器核心逻辑解耦,符合开闭原则,新增认证方式不需要修改门禁控制器的现有代码,可扩展性强,门禁控制器也可以灵活切换不同的认证方式,满足不同场景的需求。答对设计模式得2分,适用场景得2分,优势得2分,共6分。问题3:新增指纹开门认证仅需要新增一个继承自AccessMode抽象类的FingerPrintAccess类,实现认证方法即可,不需要修改AccessController和其他现有类的代码,符合开闭原则(对扩展开放,对修改关闭)。答对得3分,本题总分15分。试题四(本题满分15分,算法设计)说明:给定一个无序整数数组,要求找到数组中第k大的元素,时间复杂度要求尽可能低,例如输入数组[3,2,1,5,6,4],k=2,输出结果为5。问题1(6分):给出基于快速选择算法求解该问题的算法思路,说明快速选择算法的平均时间复杂度和最坏时间复杂度。问题2(6分):补全下述C语言代码中的①②③空缺。```cintquickSelect(intarr[],intleft,intright,intk){intpivot=arr[left];inti=left,j=right;while(i<j){while(i<j&&arr[j]<=pivot)j--;arr[i]=arr[j];while(i<j&&①)i++;arr[j]=arr[i];}②;//pivot位于位置i,右侧包含pivot共有right-i+1个元素大于等于pivotif(right-i+1==k)returnpivot;elseif(③)returnquickSelect(arr,i+1,right,k);elsereturnquickSelect(arr,left,i-1,k);}intfindKthLargest(intarr[],intn,intk){returnquickSelect(arr,0,n-1,k);}```问题3(3分):如果数组中存在大量重复元素,如何优化快速选择算法,降低最坏时间复杂度发生的概率。参考答案问题1:算法思路:快速选择基于快速排序的分治思想,每次选择一个基准pivot,对数组进行分区,将大于等于pivot的元素放到pivot右侧,小于等于pivot的元素放到pivot左侧,分区完成后得到pivot的最终位置;此时pivot右侧(包含pivot)共有m个元素,如果m等于k,说明pivot就是第k大元素;如果m大于k,说明第k大元素位于pivot的右半区,递归搜索右半区;如果m小于k,说明第k大元素位于pivot的左半区,递归搜索左半区,直到找到目标元素。快速选择的平均时间复杂度为O(n),最坏时间复杂度为O(n²)。思路描述正确得4分,复杂度答对得2分,共6分。问题2:①arr[i]>=pivot;②arr[i]=pivot;③right-i+1<k;每个空2分,共6分。问题3:可以采用三路分区优化,将数组分为小于pivot、等于pivot、大于pivot三个区域,统计每个区域的元素数量,直接判断第k大元素落在哪个区域,仅递归搜索目标区域,避免重复处理大量重复元素;同时可以引入随机选择基准pivot的方法,避免极端数据导致的最坏情况,降低最坏复杂度发生的概率。描述正确得3分,本题总分15分。试题五(本题满分15分,Java程序设计选做)说明:针对上述智能门禁系统场景,采用Java代码实现,补全代码中空缺,并回答问题。```javaabstractclass①{publicabstractbooleanverify(Stringcredential);}classCardAccessextendsAccessMode{@Overridepublicbooleanverify(StringcardId){//验证卡id

温馨提示

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

评论

0/150

提交评论