本文章为通过考生回忆整理的真题,某些题目存在缺失,重点是掌握考查的知识点;
另有一篇文章是针对软件设计师的教材+视频教程+历年真题进行整合的备考笔记及备考建议,通过学习该笔记再加上刷题,我平时模考正确率达94%左右,应该对你会有帮助;
我是参加了2024年下半年的考试,一次通过的(基础知识60分,应用技术62分);这次考试基础知识部分比往年真题考查的知识点略偏些(比如Python相关题目占比大了些,不过考的都比较基础,不用太过担心),所以整套试卷做完后发现大部分都加了标注,不太确定,哈哈;多数人反馈这次的应用技术(案例)部分比较简单;
付出终将有回报,希望那时你也能一次通过~~~

一.基础知识 标红选项为参考答案
【题目已按照知识点归类整理,与原试卷顺序不同】
1.python列表推导式:a*a for a in range(5) if a % 2,结果是()。
A.[0,1,2,4,9] B.[0,4,16] C.[1,9] D.[1,9,25]
2.下列python定义调用语句中,语法错误的是()。
A.def fun(x,y) B.return x,y,x+y C.print("x+y",x+y) D.a,b,c = fun(1,2)
3.字典是Python语言中的一个复合数据类型,现定义字典dict1如下,则不正确的语句为()。dict1 = {'name':'David','age':10,'class':'first'}
A.del dict1 B.print(dict1['name']) C.del dict1[1] D.dict1['age'] = 15
4.在C/C++程序中,函数fun无返回值、无参数,对该函数的正确声明是()。
A.void fun(void,...) B.void fun(...) C.fun(void) D.void fun(void)
5.C/C++形参传入一个数组,实际传入的是()。
A.数组首元素地址 B.数组的全部元素的值拷贝 C.数组的全部元素的地址拷贝 D.数组首元素值
6.求项目活动图中某任务的最早时间、最晚时间、松弛时间。【原题图示缺失,我放了一张历年真题,考查知识点类似】
A.13、22 B.11、22 C.13、20 D.11、20

7.【接第6题】求任务的松弛时间()。
A.11 B.9 C.16 D.7
8.UML图中最适合描述业务处理流程的是()。
A.活动图 B.用例图 C.对象图 D.类图
9.图示标识
是指()。
A.活动 B.泳道 C.动作 D.判定
10.图示流程结点推导,哪个能正确推导出()。【题目图示均缺失,答案不确定】
A.a->d B.a->b->e->b C.其他三个都对 D.a->e->b
11.关于序列图描述正确的是()。
A.以时间顺序组织的对象之间的交互活动 B.一组对象、接口、协作和它们之间的关系 C.某一时刻一组对象以及它们之间的关系 D.在系统内从一个活动到另一个活动的流程
12.非连通无向图有28条边,最少()个结点。
A.8 B.9 C.7 D.10
13.有向图n个结点m条弧,错误的是()。
A.缺失 B.m>=n C.缺失 D.缺失
14.若一个有向图具有拓扑排序序列,那么它的邻接矩阵必定为()。
A.对称矩阵 B.稀疏矩阵 C.三角矩阵 D.一般矩阵
15.n阶对称矩阵An*n中的元素特点为aij=aji(1≤j≤i≤n),以行为主序存储下三角矩阵(包括对角线)中的元素,则一维数组M[k](1≤k≤n(n+1)/2)与矩阵元素aij的关系为()。
A.j(j-1)/2+i B.i(i+1)/2+j C.i(i-1)/2+j D.j(j+1)/2+i
16.用例与用例、参与者与参与者之间的关系可以是()。
A.关联 B.泛化 C.包含 D.扩展
17.以下流程图中,至少需要()个测试用例满足所有路径。【原题图示缺失,我放了一张历年真题的图,考查知识点一样】

A.3 B.4 C.5 D.6
18.【接第17题】采用McCabe方法计算环路复杂度为()。
A.3 B.4 C.5 D.6
19.算数表达式(4+(8-2*3))/3,通过栈运算,则操作数栈的最小容量()。
A.6 B.5 C.4 D.3
20.设码长为8,已知X是整数且[X]补=11111111,则X的真值为()。
A.-1 B.127 C.255 D.1
21.详细设计结束后,重点审查的内容不包括()。【答案存疑】
A.算法 B.界面设计 C.数据结构 D.数据流图
22.如图所示,属于()设计模式。【原题图示缺失,原题图示中有accept()方法】

A.中介者 B.观察者 C.访问者 D.命令
23.【接第22题】该设计模式,适用于()。
A.许多相关的类仅仅是行为有异 B.一个对象结构包含很多类对象,它们有不同的接口,而用户想对这些对象实施一些依赖于其具体类的操作 C.一组对象以定义良好但复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解 D.在不同的时刻指定、排列和执行请求
24.【接第22题】某接口类中的display方法是由()类实现。【题目及选项均缺失】
A.Com...part B.缺失 C.缺失 D.缺失
25.【接第22题】该设计模式对应的类型是()。
A.类结构型 B.对象结构型 C.类行为型 D.对象行为型
26.对数据库查询结果进行分组,可以使用()子句实现。
A.HAVING B.ORDER BY C.GROUP BY D.WHERE
27.()操作可以对SQL访问控制进行授权。
A.Revoke B.Grant C.Drop D.Delete
28.两个函数依赖集F和G等价是指()。
A.G ->F B.F = G C.F -> G D.F+ = G+
29.下列数据库传递函数依赖中错误的是()。
A.A->B,A->C,则A->AB,A->AC B.A->BC,则B->C C.A->B,WB->C,则AW->C D.A->B,则AC->BC
30.数据库的恢复操作,主要依靠()属性。
A.冗余 B.存取控制 C.加密 D.约束
31.【题目记不清了,针对患者情况的一些操作描述】,判断不属于数据流的是()。
A.诊断报告 B.患者日志 C.缺失 D.缺失
32.【接第31题】判断不属于加工的是()。
A.打印病情报告 B.存档病情报告 C.缺失 D.缺失
33.关系型数据库的参照完整性约束可以通过()来实现。
A.外码 B.主码 C.候选码 D.超码
34.某个病毒表现为通过电子邮件向通讯簿的联系人发送邮件,并通过邮件自带的Word文档附件感染主机。该病毒属于()。
A.木马 B.蠕虫 C.宏病毒 D.CIH病毒
35.IDS攻击不包括()。
A.蠕虫病毒 B.广播风暴 C.端口扫描 D.系统漏洞攻击
36.访问控制的策略主要分类三类,正确的是()。
A.自主访问控制、强制访问控制、基于角色的访问控制 B.强制访问控制、基于时间的访问控制、自主访问控制 C.基于角色的访问控制、基于时间的访问控制、自主访问控制 D.强制访问控制、基于时间的访问控制、基于角色的访问控制
37.“开发了一个没有人真正需要的软件系统”,属于()。
A.商业风险 B.项目风险 C.技术风险 D.管理风险
38.不属于信息安全的基本要素的是()。
A.可控性 B.保密性 C.完整性 D.可重用性
39.以下软件工程行为中,()不能提高软件的可维护性。
A.尽可能在软件开发过程中保证各阶段文档的正确性 B.尽可能利用硬件的特点 C.在进行概要设计时,应加强模块之间的联系 D.重视程序结构的设计,使程序具有较好的层次结构
40.网络通信中四种基本的攻击形式中,属于被动攻击的是()。
A.截获 B.中断 C.篡改 D.伪造
41.甲公司发布了一款名为“智基助手”的智能手机应用,其竞争对手乙公司紧随其后开发并发布了一款名为“智能帮手”的应用,其界面设计和功能与“智慧助手”基本一致。以下叙述中,正确的是()。
A.乙公司侵犯了甲公司的商标权 B.乙公司侵犯了甲公司的著作权 C.乙公司侵犯了甲公司的专利权 D.乙公司没有侵犯甲公司的任何知识产权权
42.软件著作权保护的内容不包括()。
A.算法 B.数据结构 C.编程思想 D.文档
43.在数据流图中,()不属于待开发系统的内容。
A.数据流 B.数据存储 C.数据加工 D.外部主体
44.设某线性表的元素存储在有序顺序表A[1...20]中,表中元素互异,即A[1],A[2],...,A[20]互不相同,用折半查找(即二分查找,向下取整)在A[]中查找key,若key等于A[13],则查找过程中参与比较的元素依次为A[10]、()。
A.A[15]、A[12]、A[13] B.A[16]、A[15]、A[13] C.A[15]、A[14]、A[13] D.A[16]、A[14]、A[13]
45.希望用最快的速度挑选出1000个无序元素中前10个最大的元素,则最好选择()排序算法。
A.快速 B.基数 C.冒泡 D.堆
46.要在O(nlgn)时间内,对数据进行稳定排序,则应选择()排序算法。
A.快速 B.归并 C.堆 D.直接插入
47.根据数值序列[0.08,0.25,0.25,0.3,0.12]构造哈夫曼树,以下说法正确的是()。
A.结点0.08和结点0.12在同一层 B.根结点到结点0.08和结点0.12的路径最短 C.根结点到结点0.3的路径最长 D.根结点到所有叶子结点的路径长度相同
48.构造一个5层的二叉平衡树,至少需要()个结点。
A.11 B.12 C.15 D.16
49.若二叉树构造如下图,则对应的算术表达式是()。

A.a/((b-c)*d) B.a/b-c*d C.a/(b-c)*d D.a/(b-c*d)
50.如图的页式存储,a的逻辑地址十进制为5844,对应的物理地址为()。【图示缺失】
A.5328 B.9340 C.14036 D.3456
51.磁道号有(2,6,10,20,22,38,41),当前在20磁道,采用最短移臂算法,则磁盘调度顺序为()。
A.20,22,10,6,2,38,41 B.20,2,6,10,22,38,41 C.20,22,38,41,2,6,10 D.20,22,38,41,10,6,2
52.【连接第51题】每个磁道寻道时间6ms,则总寻道时间为()。
A.760 B.368 C.700 D.360
53.在操作系统中,进程调度的主要目的是()。
A.合理分配CPU时间,提高CPU利用率 B.提高计算机的运行速度 C.减少进程等待的时间 D.增加系统的吞吐量
54.下面哪个不是中断的特征()。
A.保存现场的目的是中断处理结束后可以返回执行原程序 B.CPU与外设并行工作 C.CPU主动查询外设 D.使用堆栈保护断点和现场
55.若某文件系统的目录结构如下图所示,假设用户要访问文件fault.swf,且当前工作目录为Swtools,则该文件的相对路径和绝对路径分别为()。

A.flash\和\Swtools\flash\ B.\Swtools\flash\和flash\ C.Swtools\flash\和\flash\ D.\flash\和\Swtools\flash\
56.unix\linux目录中不包括()。【答案存疑】
A.文件名 B.文件类型 C.文件大小 D.Inode编号
57.可以使用()命令测试网络连通性。
A.netstat B.telnet C.ping D.nslookup
58.下列协议属于TCP/IP模型中应用层协议的是()。
A.ICMP B.DNS C.HDCL(数据链路层) D.IP
59.在TCP/IP体系结构中,()协议实现IP地址到MAC地址的转化。
A.ARP B.ICMP C.TCP D.RARP
60.访问Web服务器默认使用的端口号是()。
A.23 B.110 C.80 D.53
61.为实现海明码纠错,对于16位信息位,最少应附加的校验码为()位。
A.4 B.5 C.6 D.3
62.与RISC计算机相比,不属于CISC计算机特征的是()。
A.指令长度固定 B.寻址方式多 C.执行一条指令用的时钟周期多 D.指令类型多
63.一个指令周期是指()。
A.执行一条指令的时间 B.一个时钟周期 C.一条指令的访存时间 D.取指令以及执行指令的时间
64.财务系统把每天的流水、每周的流水、每月的流水功能抽取出来放在一个模块中,属于()内聚类型。【答案存疑】
A.通信 B.巧合 C.功能 D.逻辑
65.()是适合于面向对象的开发方法,是一种以用户需求为动力,以对象作为驱动的模型。
A.瀑布 B.统一过程 C.螺旋 D.喷泉
66.对象基本信息和对象属性值表示对象的()。
A.行为 B.状态 C.消息 D.标识
67.测试一组协同工作的类之间的相互作用属于()层。
A.模板 B.系统 C.类 D.算法
68.开放封闭原则是指()。
A.对扩展关闭,对修改开放 B.对扩展开放,对修改开放 C.对扩展开放,对修改关闭 D.对扩展关闭,对修改关闭
69.以下关于单链表存储结构特征的叙述中,错误的是()。
A.可随机访问表中的任一元素结点 B.在表中任意位置插入和删除都不用移动其他元素结点 C.表中结点所占用存储空间的地址不是连续的 D.所需空间与结点个数成正比
70.缺失
71~75 英语题【缺失】
二.应用技术
已尽量还原题目及图示,仍存在缺失;重点是掌握考查的类型及相关知识点即可。
1.UML类图(交通管理系统)
【说明】
涉及功能:交工工具管理、信号灯配时、交通实时数据统计、交通拥堵预测、班次调整、交通应急管理等;
图1-1用例图为:

图1-2类图为:

问题1:根据说明中的描述,给出图1-1用例图中A1~A3所对应的参与者名称和U1~U5处所对应的用例名称;(8分)
参考答案:
A1:交警
A2:公交调度员
A3:相关应急部门
U1:收集交通数据
U2: 优化交通信号灯的配时
U3:预测交通拥堵
U4:调整公交班次
U5:给出应急方案
问题2:根据说明中的描述,给出图1-2类图中C1~C5所对应的类名;(5分)
参考答案:
C1:传感器Sensor
C2:交通数据分析TrafficMonitor
C3:公共交通工具Transport
C4:交通应急管理TransportManager
C5:缺失
问题3:现有新的需求,根据事件的严重程度和优先级,逐步提交给适合的应急部门进行处理,应采用什么设计模式?(2分)
参考答案:【有人说是策略模式,我写的是责任链模式】
应采用责任链模式。
因为该模式的意图是使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止;
2.算法题(二叉排序树)
【说明】
初始化:二叉排序树可以是一棵空树,或者是一棵具有特定结构的二叉树。其特性是,若左子树非空,则左子树上所有结点的值均小于根节点的值;若右子树非空,则右子树上所有结点的值均大于根节点的值。
插入操作:插入操作是二叉排序树构建的关键步骤。当树中不存在关键字值等于给定值的结点时,需要进行插入。插入过程如下:若原二叉排序树为空,则直接插入结点;否则,若关键字小于根节点值,则插入左子树;若关键字大于根节点值,则插入右子树。插入的结点通常是一个新添加的叶节点,位于查找失败时的查找路径上的最后一个结点的左孩子或右孩子。
查找操作:查找操作是从根节点开始,沿某个分支逐层向下比较的过程。若二叉排序树非空,先将给定值与根节点的关键字比较;若相等,则查找成功;若不相等,则根据比较结果继续在左子树或右子树上进行查找。
【代码】(我记得原题中代码部分包括构建和查找操作,但是具体代码记不清了,就自己写的代码,跟原题中的空对应上了,也可自行去查找相关资料进行学习)
#include"stdio.h"
#include"malloc.h"
typedef struct Node
{
int data;
struct Node *lchild;
struct Node *rchild;
}Node;
void InsertBst( Node *BST, int key)
{
Node *s, *p, *q;
p = BST;
s = (Node *)malloc( sizeof(Node) );
s->data = key;
s->lchild = NULL;
s->rchild = NULL;
if (p == NULL){
(1)
}else{
q = p;
while( q != NULL ){
if( s->data == q->data ){
(2)
}
p = q;
if( s->data < p->data ){
(3)
}else if( s->data > q->data ){
q = q->rchild;
}
}
if( q == NULL && s->data < p->data ){
p->lchild = s;
}else if( q == NULL && s->data > p->data ){
(4)
}
}
}
int CreateBst()
{
int keys[] = { 18, 3, 7, 20, 14, 19, 27, 2 };
Node *BST = ( Node * )malloc( sizeof( Node ) );
for (int i = 0; i < sizeof(keys); i++){
(5)
}
return 0;
}
问题1:根据说明和C代码,填充C代码中的空(1)~(5);(10分)
参考答案:
(1)p = s;
(2)break;
(3)q = q->lchild;
(4)p->rchild = s;
(5)InsertBst(BST, keys[i]);
问题2:n个结点组成的二叉树最大高度是?(2分)
参考答案:
n
问题3:根据给定数据序列:36,26,41,12,38,44,6,15,68,51,构成的二叉排序树为();(3分)
参考答案:

3.数据流图
【说明】
相机的构成、拍照及存储功能描述;【缺失输入输出图示】
相机构成组件及涉及的外部设备包括:镜头、对焦开关、手动调焦环、自动调焦传感器、亮度传感器、闪光灯、拍摄按钮、模式切换按钮、电脑、显示屏;
问题1:根据说明的词语,给出E1~E10;(5分)
参考答案:(大概是这些,具体顺序记不清了)
镜头、对焦开关、手动调焦环、自动调焦传感器、亮度传感器、闪光灯、拍摄按钮、模式切换按钮、电脑、显示屏。
问题2:根据说明的词语,给出D1~D2;(2分)
参考答案:(D1存储视频,D2存储照片)
D1:AVI格式文件
D2: JPG格式文件
问题3:根据说明的词语,给出‘可视化数据’、‘媒体流’、‘闪光灯数据流’的数据流组成;(6分)
参考答案:
可视化数据:照片+视频
媒体流:照片+视频
闪光灯数据流:传感器值+闪光灯功率值
问题4:描述相机拍摄过程的结构化设计步骤;(2分)
参考答案:【答案存疑】
体系结构设计、数据设计、接口设计、过程设计;
4.E-R图(货运系统)
阅读下列说明,回答问题1至问题3,将解答填入对应栏内。
【说明】
描述信息缺失。
【需求描述】
描述信息缺失。
【概念模型设计】
根据需求阶段收集的信息,设计实体联系图(不完整),如下图所示:

【逻辑结构设计】
根据概念模型设计阶段完成的实体联系图,得出如下关系模型(不完整):
货物(货物编号,名称)
列车(班列编号,名称)
客户(客户手机号码,姓名)
托运(货物编号,(a),时间)
订单(订单编号,货物编号,(b),客户手机号码,日期,数量)
问题1:根据问题描述,补充实体联系图;(6分)
参考答案:

问题2:补充逻辑结构设计中的(a)和(b)两处空缺及完整性的约束关系;(4分)
参考答案:
(a)班列编号; 完整性约束为:主键:(班列编号,货物编号);外键:班列编号,货物编号
(b)班列编号; 完整性约束为:主键: 订单编号;外键:班列编号,货物编号,客户手机号码
问题3:增设‘签证’实体,包含属性:签证编号,签证国别和日期,补充客户与签证之间的委托联系并给出签证关系模式;(5分)
参考答案:
补充后的实体联系图为:

签证(签证编号,签证国别,日期,客户手机号码)
主键:签证编号;
外键:客户手机号码;
6.JAVA代码题
描述信息缺失。
【问题:6.1】【Java代码】
由于源代码缺失,以下代码是根据答案自己写出来的,可能与源代码存在些差异。
import java.util.*;
class GraphicElement {
//代码略...
}
abstract class Graphic {
Protected (1);
(2);
(3);
public void printName() {System.out.println(name);}
}
class LeafGraphic extends Graphic {
public LeafGraphic(String name){
this.name = name;
}
public void draw(){//代码略...}
public void move(int dx, int dy){//代码略...}
}
class CompositeGraphic extends Graphic {
private (4);
public CompositeGraphic(String name){
this.name = name;
this.elements = new ArrayList<>();
}
public void draw(){//代码略...}
public void move(int dx, int dy){//代码略...}
public void addElement(GraphicElement element){
this.elements.add(element);
}
}
public class GraphicElementTest {
public static void main(String[] args) {
GraphicElement element = new GraphicElement();
(5);
graphic.addElement(element);
//代码略...
}
}
请填写(1)~(5)缺失的代码;
参考答案:
(1)String name
(2)abstract void draw()
(3)abstract void move(int dx, int dy)
(4)List<GraphicElement> elements (这里我填的是ArrayList,不确定给不给分)
(5)CompositeGraphic graphic = new CompositeGraphic(“CompositeGraphic”)
完结撒花~~~
备考笔记及备考建议:↓
软件设计师综合知识点总结(根据 教材+视频+刷题 总结整理)-优快云博客
付出终将有回报,希望那时你也能一次通过~~~
4030

被折叠的 条评论
为什么被折叠?



