软考-中级软件设计师-2024上半年试卷

10/9/2024 note

# 👋 软考中级系统架构师

备战 中级软件设计师


# 2024 上半年试卷 (考过的试卷)

# 1.关于链表操作中,说法正确的是( C )。

A.新增一个头结点需要遍历链表

B.新增一个尾结点需要遍历链表

C.删除最后一个节点需要遍历链表

D.删除第一个节点需要遍历链表

删除最后一个节点,需要找到倒数第二个节点


# 2.某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作。若元素 a、b、c、d 依次全部入队列,之后进行出队列操作,则不能得到的出队序列是( C )。

A.dbac

B.cabd

C.acdb

D.bacd

按照 abcd 的顺序 入库,a 至少和 b 相邻,b 至少和 c 相邻... C 选项 a 和 b 没有相邻


# 3.对于一棵树,每个结点的孩子结点个数称为结点的度,结点度数的最大值称为树的度。某树 T 的度为 4,其中有 5 个度为 4 的结点,8 个度为 3 的结点,6 个度为 2 的结点,10 个度为 1 的结点,则 T 中的叶子结点个数为( A )。

A.38

B.29

C.66

D.57

n0 = n2 _ 1 + n3 _ 2 + n4 _ 3 + 1 = 6 + 8 _ 2 + 5 * 3 + 1 = 38

n1 不算


4.森林的叶子节点是( C )。

A.二叉树中没有左孩子的节点

B.二叉树中没有右孩子的节点

C.森林中度为 0 的节点

D.二叉树中度为 1 的节点


# 5.已知二维数组 A 按行优先方式存储,每个元素占用 2 个存储单元,第一个元素 A[0][0]的地址为 100,元素 A[3][3]的存储地址是 220,则元素 A[5][5]的地址是( A )。

A.300

B.310

C.306

D.296

A[3][3] = 220 = 100 + (3i + 3) * 2 ,得 i=19

A[5][5] = 100 + (5 _ 19 + 5) _ 2 = 300


  1. 采用简单选择排序算法对序列(49,38,65,97,76,13,27,49)进行非降序排序,两趟后的序列为( A )。

A.(13,27,65,97,76,49,38,49)

B.(38,49,65,76,13,27,49,97)

C.(13,38,65,97,76,49,27,49)

D.(38,49,65,13,27,49,76,97)


  1. 在 29 个元素构成的査找表中查找任意一个元素时,可保证最多与表中 5 个元素进行比较即可确定查找结果,则采用的查找表及查找方法是( C )。

A.二叉排序树上的查找

B.顺序表上的顺序查找

C.有序顺序表上的二分查找

D.散列表上的哈希查找


  1. 算术表达式 b*(a+c)-d 的后缀式是( D )。(+、-、*表示算术的加、减、乘运算,运算符的优先级和结合性遵循惯例。)

A.ba+cd*-

B.bacd+*-

C.bac+d-

D.bac+*d-


9.10.正规集(ab|c)(1|2|3),可以识别的字符种类有( D )个,下列( A )可被匹配

A.1 B.2 C.3 D.6

A.ab2 B.abc C.a2 D.123


11.对下列有向图的邻接矩阵,进行深度遍历的次序是( C )。

img

A.v1-v2-v3-v4-v5-v6

B.v1-v4-v2-v3-v5-v6

C.v1-v2-v3-v5-v4-V6

D.v1-V2-v5-V4-v3-v6


12.当一棵非空二叉树的( A )时,对该二叉树进行中序遍历后序遍历所得的序列相同。

A.每个非叶子结点都只有左子树

B.每个非叶子结点都只有右子树

C.每个非叶子结点的度都为 1

D.每个非叶子结点的度都为 2

中序遍历 = 左中右 , 后续遍历 = 左右中 ,没有右子树就可以


13.在计算机系统中,CPU 中跟踪后继指令地址的寄存器是( C )。

A.指令寄存器

B.状态条件寄存器

C.程序计数器

D.主存地址寄存器

程序计数器 = 跟踪指令地址 , 读取指令(操作码+地址码),保持下一条指令的地址


14.在 CPU 调度中,( C )不可能的。

A.放权等待

B.资源等待

C.无限等待

D.定时等待


# 15.硬盘所属的存储类别是( D )。

A.寄存器

B.缓存

C.主存

D.辅存

主存 = 内存 = RAM,辅存 = 硬盘 = ROM


16.在微型计算机中,管理键盘最适合采用的 I/O 控制方式是( D )方式。

A.DMA

B.无条件传送

C.程序查询

D.中断


17.FAT 文件系统用的( B )文件管理结构。

A.索引

B.基于文件的簇状链式结构

C.链式结构

D.顺序结构


18.某文件管理系统在磁盘上建立了位示图(bitmap),记录磁盘的使用情况。若计算机系统的字长为 128 位,磁盘的容量为 1024 GB,物理块的大小为 8MB,那么该位示图的大小为( B )个字。

A.4096

B.1024

C.2048

D.4098

1024GB / (8MB * 128) = 1MB = 1024


# 19.以下不属于函数依赖的 Armstrong 公理系统的是( C )

A.自反规则

B.传递规则

C.合并规则

D.增广规律

Armstrong 公理系统:

自反律: 任何函数依赖都蕴含自身

增广律:如果 X->Y,则 XZ->YZ

传递律:如果 X->Y,Y->Z,则 X->Z

剩下的都是推出来的...

合并律:如果 X->Y,Z->Y,则 XZ->Y


20.在关系表中选出若干属性列组成新的关系表,可以使用( A )操作实现:

A.投影

B.积

C.选择

D.差


# 21.下面( D )范式包含多值依赖

A.1NF

B.2NF

C.3NF

D.4NF

数据库六种范式详解(1NF/2NF/3NF/BCNF/4NF/5NF) (opens new window)

1NF: 原子性约束,要求属性具有原子性,不可再分解

2NF: 每一个非主键都必须依赖于主键

3NF: 每个非主键不依赖于其它非主键

BCNF: 每个非主键不依赖于主键的子集

4NF: 不存在非函数依赖的多值依赖(多对多)

5NF: 每一个连接依赖均由主键所隐含


22.用于收回 SQL 访问控制权限的操作是( C )。

A.GRANT

B.DELETE

C.REVOKE

D.DROP


23.数据库的基本表、存储文件和视图的结构分别对应( D )

A.用户视图、内部视图和概念视图

B.用户视图、概念视图和内部视图

C.概念视图、用户视图和内部视图

D.概念视图、内部视图和用户视图


24.在撰写学术论文时,通常需要引用某些文献资料。以下叙述中,( B )是不正确的。

A.既可引用发表的作品,也可引用未发表的作品

B.不必征得原作者的同意,不需要向他支付报酬

C.只能限于介绍、评论作品

D.只要不构成自己作品的主要部分,可适当引用资料


25.由于知识技术可以同时被多个人使用,所以知识专利具有( D )。

A.双重性

B.独占性

C.地域性

D.实践性


26.程序员甲将其编写完成的软件程序发给同事乙并进行讨论,之后由于甲对该程序极不满意,因此甲决定放弃该程序,后来乙将该程序稍加修改并署自己名在某技术论坛发布。下列说法中,正确的是( D )。

A.乙对该程序进行了修改,因此乙享有该程序的软件著作权

B.乙的行为没有侵犯甲的软件著作权,因为甲己放弃程序

C.乙的行为未侵权,因其发布的场合是以交流学习为目的的技术论坛

D.乙的行为侵犯了甲对该程序享有的软件著作权


# 27.瀑布模型的主要特点是( C )

A.用户容易参与到开发活动中 B.易于处理可变需求 C.缺乏灵活性 D.用户与开发者沟通容易

瀑布模型的缺点:

(1)各个阶段之间产生大量的文档,极大地增加了工作量。

(2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。

(3)不适应用户需求的变化,并且在需求分析阶段不可能完全获取

(4)在软件开发前期未发现的错误传到后面的开发活动中时,可能会扩散,进而可能会导致整个软件项目开发失败。

所以,瀑布模型适用于需求明确或很少变更的项目


28.结构化分析方法的基本思想是( B )

A.自底向上逐步分解

B.自顶向下逐步分解

C.自底向上逐步抽象

D.自顶向下逐步抽象


29.数据流图中的组成不包括 ( D )

A.数据流

B.外部实体

C.数据加工

D.控制流

还有一个是数据存储


30.结构化设计方法中使用结构图来描述构成软件系统的模块,以及这些模块之间的调用关系结构图的基本成分不包括( D )。

A.模块

B.调用

C.数据

D.控制

和 29 题类似


31.观察者(Observer)模式适用于( D )。

A.访问一个聚合对象的内容,而无需暴露他的内部表示。

B.减少多个对象或类之间的通信复杂性。

C.将对象的状态恢复到先前的状态

D.一个多对象依赖关系。当一个对象修改后,依赖他的对象都自动得到通知


32.在 C/C++ 程序中,对于函数中定义的非静态局部变量,其存储空间在( A )分配

A.栈区

B.静态数据区

C.文本区

D.自由堆区


33.以下关于通过解释器运行程序的叙述中,错误的是( C )

A.可以由解释器直接分析并执行高级语言源程序代码

B.与直接运行编译后的机器码相比,通过解释器运行程序的速度更慢

C.解释器运行程序比运行编译和链接方式产生的机器代码效率更高

D.可以先将高级语言程序转换为字节码,再由解释器运行字节码


34.进行面向对象设计时,以下( B )不能作为继承的类型

A.多重继承

B.分布式继承

C.单重继承

D.层次继承(子类可以被其他类继承)


35.进行面向对象系统设计时,若存在包 A 依赖于包 B,包 B 依赖于包 C,包 C 依赖于包 A 则此设计违反了( D )原则

A.稳定抽象 B.稳定依赖 C.依赖倒置 D.无环依赖(循环依赖)


# 36.UML 类图在软件建模时,给出软件系统的一种静态设计视图,用( A )关系可明确表示两类事物之间存在的特殊/一般关系

A.聚合

B.依赖

C.泛化

D.实现

https://blog.csdn.net/m0_37989980/article/details/104470064 (opens new window)

关系名称 图像 描述
泛化 (generalization) -----▷ 继承关系 extends
实现 (realization) - - -▷ 实现关系 implements
依赖 (depentdent) - - -> 一个类依赖于另一个类的定义
关联(association) ------> 一个类知道另一个类的属性和方法 ,弱关系
聚合(aggregation) ◇-----> 关联关系的特例,是一种“弱拥有”的关系,整体和个体之间的关系。
组合(composition) ◆-----> 关联关系的特例,是一种“包含”的关系,比聚合更强,也称为强聚合。

37.执行以下 Python 语句之后,列表 y 为( B )。

x=[1,2,3]
y=x+[4,5,6]

A.出错 B.[1,2,3,4,5,6] C[5,7,9] D.[1,2,3,[4,5,6]]


38.关于 Python,下列说法正确的是( B )

A.用 try 捕获异常,有 except,无需执行 finally

B.可以使用 raise 关键字来手动抛出异常

c.except Exception 可以捕获所有异常

D.可以使用 switch...case 语句表示选择结构

def divide_numbers(a, b):
    try:
        if b == 0:
            raise ValueError("除数不能为零")
        result = a / b
        print(f"{a} 除以 {b} 的结果是 {result}")
    except ZeroDivisionError as e:
        print(f"发生错误: {e}")
    except ValueError as e:
        print(f"发生错误: {e}")
    finally:
        print("无论是否发生异常,此部分代码都会被执行")

39.软件测试过程中的系统测试主要是为了发现( D )阶段的问题

A.软件实现

B.概要设计

C.详细设计

D.需求分析


# 40.下列测试方法中,( A )程度最高。

A.语句覆盖 1

B.判定覆盖 2

C.路径覆盖 6

D.条件覆盖 3

# 语句覆盖 > 判定覆盖 > 条件覆盖 > 条件判定覆盖 > 条件组合覆盖 > 路径覆盖


41.面向对象软件从不同层次进行测试。( D )层测试类中定义的每个方法,相当于传统软件测试中的单元测试

A.模板

B.系统

C.类

D.算法


42.软件交付之后,由于软硬件环境发生变化而对软件进行修改的行为属于( B )维护

A.改善性

B.适应性

C.预防性

D.改正性


43.TCP 的序号单位是( B )

A.赫兹

B.字节

C.比特

D.报文


44.在计算机网络协议 5 层体系结构中,( B )工作在数据链路层

A.路由器 3

B.以太网交换机 2

C.防火墙 5

D.集线器 1

五层网络协议,各层功能,各层协议 (opens new window)

img > img


45.46.以太网交换机属于网络模型中( C ),管理的是( B )

A.网络层 B.传输层 C.数据链路层 D.物理层

A.IP 地址 B.mac 地址 C.报文 D.帧


47.WWW 服务器与客户机之间主要采用( B )安全协议进行网页的发送和接收。

A.HTTP B.HTTPS C.HTML D.SMTP


48.VLAN 不能隔绝( D )

A.广播域

B.内网互访

C.内外网

D.攻击和漏洞利用


49.下面( C )命令可以查看网络配置

A.ping

B.netstat

C.ipconfig

D.telnet


50.下列措施中,( D )可以保证数据的可靠性

A.访问控制

B.数据加密

C.鉴别

D.异地数据备份

可靠性(Reliability)是指系统或数据在预定的时间内持续无故障运行的能力。

包括数据完整性、高可用、冗余、容错、恢复能力。


51.黑客获取整个用户资料信息属于( C )。

A.撞库

B.社工库

C.拖库

D.洗库


52.下列算法属于 Hash 算法的是( A )。

A.SHA

B.DES

C.IDEA

D.RSA

# 常见的 Hash 算法有:MD5、SHA、SM3


53.下列( A )属于哈希算法。

A.SHA-1

B.AES

C.DES

D.RSA


54.利用报文摘要算法生成报文摘要的目的是( A )。

A.防止发送的报文被篡改

B.对传输数据进行加密,防止数据被窃听

C.验证通信对方的身份,防止假冒

D.防止发送方否认发送过的数据


# 55.若浮点数用补码表示,则判断运算结果为规格化数的方法是( C )

A.阶符与数符相同为规格化数

B.阶符与数符相异为规格化数

C.数符与尾数小数点后第一位数字相异为规格化数

D.数符与尾数小数点后第一位数字相同为规格化数

示例 1: 正数规格化数
符号位 (S): 0
阶码 (E): 010 (2)
尾数 (M): 1011 (十进制 11)
表示为:0 010 1011

解析:

符号位 S = 0,表示正数。
阶码 E = 2,表示指数为 2。
尾数 M = 1011,表示尾数为 1.1011。
计算过程
尾数部分:

尾数 M = 1011,表示尾数为 1.1011。
在二进制中,1.1011 表示的是 1 + 1/2 + 0/4 + 1/8 + 1/16。
转换为十进制:

1.1011 的十进制值为: [ 1 \times 2^0 + 1 \times 2^{-1} + 0 \times 2^{-2} + 1 \times 2^{-3} + 1 \times 2^{-4} ] [ = 1 + 0.5 + 0 + 0.125 + 0.0625 ] [ = 1.6875 ]
乘以指数部分:

阶码 E = 2,表示指数为 2。
因此,最终结果为: [ 1.6875 \times 2^2 = 1.6875 \times 4 = 6.75 ]

56.在采用定点二进制的运算器中,减法运算一般是通过( A )来实现的。

A.补码运算的二进制加法器

B.原码运算的二进制加法器

C.补码运算的二进制减法器

D.原码运算的二进制减法器


57.对于定点纯小数的数据编码,下述说法正确的是( D )。

A.仅原码能表示-1

B.仅反码能表示-1

C,原码和反码均能表示-1

D.仅补码能表示-1 ??


58.循环冗余校验码(CRC)利用生成多项式进行编码。设数据位为 n 位,校验位为 k 位,则 CRC 码的格式为( C )。

A.k 个校验位按照指定间隔位与 n 个数据位混淆

B.k 个校验位之后跟 n 个数据位

C.n 个数据位之后跟 k 个校验位

D.k 个校验位等间隔地放入 n 个数据位中-

img


59.某系统由下图所示的冗余部件构成。若每个部件的千小时可靠度都为 R,则该系统的千小时可靠度为( C )。

+---+ +---+ +---+ +---+
| |-----| | | |-----| |
+---+ +---+ +---+ +---+

A.(1-(1-R^2))(1-R)

B.(1-R)^2 (1-R^2)

C.R(1-R^2)R

D.R(1-(1-R)^2)R

串联 1 + 并联 2 + 串联 1


# 60.某个程序所有者拥有所有权限(4+2+1),组成员有读取和运行(4+0+1)的权限,其他用户只有运行的权限(0+0+1),该程序的权限为( C )。

A.742

B.741

C.751

D.752

    读  写  运行
7 = 4 + 2 + 1
5 = 4 + 0 + 1
1 = 0 + 0 + 1

61.以下哪个活动可以提高软件质量( C )

A.需求分析

B.软件开发

C.软件测试

D.技术评审


# 62.以下关于甘特图的叙述中,不正确的是( D )。

A.一种进度管理的工具

B.易于看出每个子任务的持续时间

C.易于看出目前项目的实际进度情况

D.易于看出子任务之间的衔接关系

甘特图的缺点:不能系统地表达各项工作之间的复杂关系,难以进行定量的计算和分析,没有指出影响项目寿命周期的关键所在


63.软件文档在软件生存期中起着重要的作用,其作用不包括( A )。

A.提高软件运行效率

B.作为开发过程的阶段工作成果和结束标记

C.提高开发过程的能见度

D.提高开发效率


64.某个软件,不符合公司的战略决策,属于( A )风险。

可能无法盈利?

A.商业风险 B.项目风险 C.开发风险 D.人员风险


# 65.66.下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,

则一共有(B)条关键路径,关键路径长度为(B)。

img

关键路径:
ABEHJK = 12 + 16 + 12 + 5 + 10 = 55

ACEHJK = 12 + 17 + 11 + 5 + 10 = 55

ABEFIJK = 12 + 16 + 6 + 8 + 3 + 10 = 55

ACEFIJK = 12 + 17 + 6 + 8 + 3 + 10 = 55

难点:

1. A+B+E = A+C+E = 12 + 16  = 11 + 17 = 28 两种都是关键路径

2. E+H+J+K = E+F+I+J+K = 12 + 5 + 10 = 6 + 8 + 3 + 10 = 28 两种都是关键路径

导致有4条关键路径

A.2 B.4 C.3 D.1

A.48 B.55 C.30 D.46


71~75.Regardless of how welldesigned, constructed, and tested a system or application may be, erors or bugs will inevitably occur. Once a system has been (B),it enters operations and support.

Systems support is the ongoing technical support for user, as well as the maintenance required to fix any erors, omissions, or new requirementsthat may arise. Before an information system can be (A), it must be in operation. System operation is the dayto-day, week-to-week, month-to.month, and year-to-year (C) of an information system's business processes and application programs.Unlike systems analysis, design, and implementation, sytems support cannot sensibly be (D)into actual phases that a suppot projec mustperform, Rather, systems support consists of four ongoing activilies that are program maintenance, svstem recovery, technical suppor., andsystem enhancement. Each activity is a type of suppot project that is (A) by a particular problem, event, or opportunity encountered with theimplemented system.

  1. A.designed B.implemented C.investigated D.analyzed

  2. A.supported B.tested C.implemented D.constructed

  3. A.construction B.maintenance C.execution D.implementation

  4. A.broke B.formed C.composed D.decomposed

  5. A.triggered B.leaded C.caused D.produced