真题配套的讲解视频,视频分集需要进入BILIBILI看完整版

软件设计师 2023年上半年 上午题真题解析

文章目录

  • 第1题
  • 第2题
  • 第3题
  • 第4题
  • 第5题
  • 第6题
  • 第7题
  • 第8题、第9题
  • 第10题
  • 第11题
  • 第12题
  • 第13题
  • 第14题
  • 第15题
  • 第16题
  • 第17题、第18题
  • 第19题
  • 第20题
  • 第21题
  • 第22题
  • 第23题
  • 第24题
  • 第25题
  • 第26题、第27题、第28题
  • 第29题
  • 第30题
  • 第31题
  • 第32题
  • 第33题
  • 第34题、第35题
  • 第36题
  • 第37题、第38题
  • 第39题
  • 第40题
  • 第41题、第42题
  • 第43题
  • 第44题
  • 第46题、第47题
  • 第48题
  • 第49题
  • 第50题
  • 第51题
  • 第52题
  • 第53题、第54题
  • 第55题、第56题
  • 第57题
  • 第58题
  • 第59题
  • 第60题
  • 第61题
  • 第62题、第63题
  • 第64题、第65题
  • 第66题
  • 第67题、第68题
  • 第69题
  • 第70题
  • 第71题、第72题、第73题、第74题、第75题
  • 结语

第1题

计算机中,系统总线用于 (1) 连接。
A. 接口和外设
B. 运算器、控制器和寄存器
C. CPU、主存及外设部件
D. DMA 控制器和中断控制器

系统总线是计算机内部不同部件之间进行数据传输和控制信号传送的通道,将计算机的各个部分连接在一起,使其协同工作。CPU、主存和各种外设之间都通过系统总线进行通信和数据传输。运算器、控制器和寄存器是 CPU 的组成部分,DMA 控制器和中断控制器则属于计算机系统中对外设进行管理的部分,因此不是系统总线所用于连接的对象。

第2题

在由高速缓存、主存和硬盘构成的三级存储体系中,CPU 执行指令时需要读取数据,那么DMA 控制器和中断 CPU 发出的数据地址是 (2) 。
A. 高速缓存地址
B. 主存物理地址
C. 硬盘的扇区地址
D. 虚拟地址

在由高速缓存、主存和硬盘构成的三级存储体系中,CPU 执行指令时需要读取数据,DMA控制器和中断控制器发出的数据地址是主存物理地址。选项 B 为正确答案。高速缓存、主存和硬盘是计算机中常用的三种存储器,其中主存作为 CPU 与其他存储器之间的桥梁,承担了大量的数据传输任务。DMA 控制器和中断控制器负责对外设进行管理,并将数据传输到主存之中,因此它们发出的数据地址通常是主存物理地址。虚拟地址只是在内存管理单元(MMU)的作用下由CPU 产生的地址,而扇区地址只是硬盘中的数据存储单元地址,它们与 DMA 控制器和中断控制器的数据传输无关。

第3题

设信息位是 8 位,用海明码来发现并纠正 1 位出错的情况,则校验位的位数至少为 (3) 。
A. 1
B. 2
C. 4
D. 8

对于信息位为 8 位的情况,我们可以使用海明码来发现并纠正 1 位出错。其中,海明码所需的校验位数可以通过以下公式计算:
2^k - 1 ≥ n + k

第4题

中断向量提供的是 (4) 。
A. 中断源的设备地址
B. 中断服务程序的入口地址
C. 传递数据的起始地址
D. 主程序的断点地址

中断向量提供的是中断服务程序的入口地址。选项 B 为正确答案。中断是计算机中常用的一种机制,它可以在 CPU 执行主程序时,突然切换到处理中断的程序中去,以响应外部设备的请求
或发生的异常情况。当中断发生时,CPU 需要立即停止原来的工作,跳转到相应的中断服务程序中去执行。而中断服务程序的入口地址则是通过中断向量进行传递,告诉 CPU 该跳转到哪个程序中去执行。因此,选项 B 为正确答案。中断源的设备地址、传递数据的起始地址和主程序的断点地址与中断向量无关。

第5题

计算机系统中,定点数常采用补码表示,以下关于补码表示的叙述中,错误的是 (5) 。
A. 补码零的表示是唯一的
B. 可以将减法运算转化为加法运算
C. 符号位可以与数值位一起参加运算
D. 与真值的对应关系简单且直观

定点数常采用补码表示,其中,最高位为符号位,其余为数值位。在补码表示中,补码零的表示是唯一的,符号位可以与数值位一起参加运算,而且可以将减法运算转化为加法运算,这些都是补码表示的特点。但是,与真值的对应关系并不是简单直观的。因为在补码表示中,负数的补码表示比较复杂,它的数值位需要先取反再加 1。因此,与真值的对应关系并不是简单直观的,需要进行特别的转换操作。这种转换操作有一定的计算复杂度,需要进行额外的转换处理才能得到正确的结果。

第6题

设指令流水线将一条指令的执行分为取指、分析、执行三段,已知取指时间是 2ns,分析时间是 2ns,执行时间是 1ns,则执行完 1000 条指令所需的时间为 (6) 。
A. 1004ns
B. 1998ns
C. 2003ns
D. 2008ns

对于指令流水线分段情况,有 n 条指令要执行,先计算出一条指令的执行时间,记为 S,然后用分段指令最长时间 * (n – 1) 条指令 + S,可得到最终结果。将题目信息带入,可得到 S = 2ns + 2ns + 1ns = 5ns。总指令为 1000 条,单条指令最长分段时间为 2ns,那么执行完 1000 条指令所需要的时间= 2ns * (1000 –1) + 5ns = 2003ns。

第7题

在 OSI 参考模型中,负责对应用层消息进行压缩、加密功能的层次为(7) 。
A. 传输层
B. 会话层
C. 表示层
D. 应用层

在 OSI 参考模型中,负责对应用层消息进行压缩、加密功能的层次为 C. 表示层(Presentation Layer)。表示层介于会话层和应用层之间,主要处理数据格式转换、加解密以及压缩等工作,确保了通信双方之间的数据可互相理解和无误传输。

第8题、第9题

在 PKI 体系中,由 SSL / TSL 实现 HTTPS 应用。浏览器和服务器之间用于加密 HTTP 消息的方式是 (8) ,如果服务器证书被撤销那么所产生的后果是 (9) 。
(8)
A. 对方公钥 + 公钥加密
B. 本方公钥 + 公钥加密
C. 会话密钥 + 公钥加密
D. 会话密钥 + 对称加密
(9)
A. 服务器不能执行加解密
B. 服务器不能执行签名
C. 客户端无法再信任服务器
D. 客户端无法发送加密信息给服务器

HTTPS 采用混合加密方式,即使用非对称加密算法和对称加密算法相结合的方式。整个握手过程中,服务器和客户端通过非对称加密算法进行通信,确认彼此身份后,再生成一个会话密钥,
采用对称加密算法对后续的通信数据进行加密传输。
因此,浏览器和服务器之间用于加密 HTTP 消息的方式是会话密钥 + 对称加密。在 PKI 体系中,为了避免证书被恶意使用或泄露造成损失,引入了证书吊销机制,即当证书被撤销时,应及时向证书颁发机构(CA)发起吊销请求,将该证书列入证书吊销列表(CRL)中。此外,还可以使用在线证书状态协议(OCSP)查询证书是否被吊销。
如果服务器证书被撤销,那么客户端无法再信任服务器,选项 C 正确。客户端在建立 SSL/TLS连接时,会验证服务器证书的有效性,如果证书被撤销,则无法验证证书的合法性,此时可能会
出现安全漏洞,导致网络攻击。因此,证书被撤销将会影响到客户端与服务器之间的通信安全。

第10题

以下关于入侵防御系统功能的描述中,不正确的是 (10) 。
A. 监测并分析用户和系统的网络活动
B. 匹配特征库识别已知的网络攻击行为
C. 联动入侵检测系统使其阻断网络攻击行为
D. 检测僵尸网络,木马控制等僵尸主机行为

入侵防御系统是一种网络安全防护工具,旨在监测、识别和阻断各种网络攻击行为,保护计算机系统和网络的安全。常见的入侵防御系统包括入侵检测系统、入侵防火墙等。以下是关于入侵防御系统功能的描述:
A. 监测并分析用户和系统的网络活动:入侵防御系统可以监测并记录所有用户和系统的网络活动,然后进行分析,以便及时发现可疑的行为。
B. 匹配特征库识别已知的网络攻击行为:入侵防御系统通常会维护一个特征库,其中包含各种已知的网络攻击行为的特征信息。当系统检测到一个可疑的行为时,会将其与特征库进行匹配,以便及时发现和阻断已知的网络攻击行为。
C. 联动入侵检测系统使其阻断网络攻击行为:本选项不正确。入侵防御系统本身就是一种入侵检测系统,不需要与其他入侵检测系统进行联动。入侵防御系统的主要功能之一就是阻断网络攻击行为。
D. 检测僵尸网络,木马控制等僵尸主机行为:入侵防御系统可以检测并阻断各种僵尸网络、木马控制等僵尸主机的行为,从而保护计算机系统和网络的安全。

第11题

Web 应用防火墙无法有效防护 (11) 。
A. 登录口令暴力破解
B. 恶意注册
C. 抢票机器人
D. 流氓软件

流氓软件是指那些没有明确安装许可的、不良软件或广告软件,常常会通过欺骗、搭便车等方式侵入用户计算机系统,窃取用户
信息或广告推销等。与 Web 应用防火墙不同,流氓软件需要通过杀毒软件、反恶意软件等安全工具来进行检测和清除。

第12题

著作权中 (12) ,的保护期不受限制。
A. 发表权
B. 发行权
C. 展览权
D. 署名权

结合我国《著作权法》的规定,著作权中保护期限不受限制的,主要就是著作人身权了,主要包括作者的署名权、修改权、保护作品完整权。但对于发表权,法律明确规定是有保护期限的,一般是作者终生及其死亡后五十年,截止于作者死亡后第五十年的12 月 31 日。

第13题

国际上为保护计算机软件知识产权不受侵犯所采用的主要方式是实施(13) 。
A. 合同法
B. 物权法
C. 版权法
D. 刑法

计算机软件作为一种创造性的产品,具有明显的知识产权属性,因此需要在国际上采取相应的保护措施。其中,最常用的方式是实施版权法,通过登记、授权、许可等手段保护软件作者的知识产权,维护市场秩序和公平竞争。另外,也可以采用技术保护手段,如数字签名、加密等技术来防止软件被盗版或篡改。

第14题

以下关于计算机软件著作权的叙述中,不正确的是 (14) 。
A. 软件著作权人可以许可他人行使其软件著作权,并有权获得报酬
B. 软件著作权人可以全部或者部分转让其软件著作权,并有权获得报酬
C. 软件著作权属于自然人的,该自然人死亡后,在软件著作权的保护期内,继承人能继承软件著作权的所有权利
D. 为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等使用软件的,可以不经软件著作权人许可,不向其支付报酬

本题主要考查对计算机软件著作权相关法律的掌握与理解。除 C 选项内容,其他均出自软件著作权法,C 选项所描述的内容,正确的表达式为:软件著作权属于自然人的,该自然人死亡后,在软件著作权的保护期内,软件著作权的继承人可以继承除署名权的其他各项软件著作权。

第15题

以下关于数据流图基本加工的叙述中,不正确的是 (15) 。
A. 对每一个基本加工,必须有一个加工规格说明
B. 加工规格说明必须描述把输入数据流变换为输出数据流的加工规则
C. 加工规格说明需要给出实现加工的细节
D. 决策树、决策表可以用来表示加工规格说明

加工规格说明需要描述把输入数据流变换为输出数据流的加工规则,并给出实现加工的细节,但并不一定描述实现的细节。加工规格说明应该是高层次的、抽象的规范,描述了输入和输出之间的转换过程,而不是具体实现步骤。实现加工的细节应该在程设计中进行描述。

第16题

以下关于好的软件设计原则的叙述中,不正确的是 (16) 。
A. 模块化
B. 提高模块独立性
C. 集中化
D. 提高抽象层次

集中化则不是一个好的软件设计原则。过于集中的设计可能会导致系统的单点故障、性能瓶颈等问题,降低了系统的可靠性和可扩展性。

第17题、第18题

下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,则里程碑 (17) 在关键路径上,关键路径长度为 (18) 。

(17)
A. B
B. E
C. G
D. I
(18)
A. 15
B. 17
C. 19
D. 23

关键路径是从开始到结束的最长路径,也是完成项目所需要的最短时间。根据上述项目活动图,路径 A-C-E-H-J-K 是关键路径,其长度为 23,故里程碑 E 在关键路径上。

第19题

由 8 位成员组成的开发团队中,一共有 (19) 条沟通路径。
A. 64
B. 56
C. 32
D. 28

在团队中,每个人都可能需要和其他成员进行沟通,因此团队内部的沟通关系非常复杂。对于一个有 n 个成员的团队来说,其内部的沟通路径数 P 可以通过以下公式计算:
P = n(n-1)/2
根据题目,开发团队中有 8 个成员,因此其内部的沟通路径数为:
P = 8(8-1)/2 = 28

第20题

对布尔表达式“a or ((b < c) and d)”求值时,当 (20) 时可进行短路计算。
A. a 为 true
B. b 为 true
C. c 为 true
D. d 为 true

对布尔表达式“a or ((b < c) and d)”求值时,当 a 为 true 时可进行短路计算。
短路计算是指在布尔运算中,只要能够确定整个表达式的值,就不再继续计算。在布尔表达式“a or ((b < c) and d)”中,如果 a 的值为 true,则整个表达式的值已经确认为 true,后面不再需要计算;如果 a 的值为 false,则需要继续计算后面的部分。
因此,当 a 为 true 时可以进行短路计算。

第21题

设有正规式 s = (0 | 10)*,则其所描述正规集中字符串的特点是 (21) 。
A. 长度必须是偶数
B. 长度必须是奇数
C. 0 不能连续出现
D. 1 不能连续出现

正规式 s = (0 | 10)表示的正规集为{0, 10},s = (0 | 10)*表示的正规集为{ ε , 0, 10, 00, 010, 100, 1010, 000, 0010, 0100, 01010, 1000, 10010, 10100, 101010, … },用自然语言描述其正规式特点就是0 可以连续出现,1 不能连续出现,长度没有必须是奇数或偶数的特点。

第22题

设函数 foo()和 hoo()的定义如下所示,在函数 foo()中调用函数 hoo()时,hoo()的第一个参数采用传引用方式(call by reerence),第二个参数采用传值方式(call by value),那么函数 foo 中的print(a, b)将输出 (22) 。

A. 8, 5
B. 39, 5
C. 8, 40
D. 39, 40

foo 函数中调用 hoo 函数时传入的第一个参数为变量 a,在函数 hoo 中通过引用传递方式修改了 a 的值(x=40-1→a=40-1→a=39),因此当 foo 函数中 print(a, b)被调用时,a 的值已经被修改为 39。而传入 hoo 函数的第二个参数是变量 b,它采用的是传值方式,因此在 hoo 函数中对 b 的修改不会影响到 foo 中 b 的值。因此,print(a, b)将输出:39, 5

第23题

某文件管理系统采用位示图(bitmap)来记录磁盘的使用情况,若计算机系统的字长为 64 位,磁盘容量为 512GB,物理块的大小为 4MB,那么位示图的大小为 (23)个字。
A. 1024
B. 2048
C. 4096
D. 9600

由于物理块的大小为 4MB,因此整个磁盘共有:
512GB / 4MB = 131072 个物理块
由于计算机系统的字长为 64 位,而一个位只能记录一个物理块的使用情况,因此位示图的
大小为:131072 / 64 = 2048(个字)

第24题

磁盘调度分为移臂调度和旋转调度两类,在移臂调度的算法中, (24) 算法可能会随时改变移动臂的运行方向。
A. 单向扫描和先来先服务
B. 电梯调度和最短寻道时间优先
C. 电梯调度和最短寻道时间优先
D. 先来先服务和最短寻道时间优先

因为先来先服务是谁先请求先满足谁的请求,而最短寻找时间优先是根据当前磁臂到要请求访问磁道的距离,谁短满足谁的请求,故先来先服务和最短寻找时间优先算法可能会随时改变移动臂的运行方向。

第25题

在支持多线程的操作系统中,假设进程 P 创建了 T1、T2、T3 线程,那么 (25) 。
A. 该进程的代码段不能被 T1、T2、T3 共享
B. 该进程的全局变量只能被 T1 共享
C. 该进程中 T1、T2、T3 的栈指针不能被共享
D. 该进程中 T1 的栈指针可以被 T2、T3 共享

在支持多线程的操作系统中,假设进程 P 创建了 T1、T2、T3 线程,在同一进程中的各个线程都可以共享该进程所拥有的资源,但是不能共享进程中某线程的栈指针。
A. 该进程的代码段可以被 T1、T2、T3 共享。对于一个进程而言,它的代码段是只读的,这个代码段是进程的公共资源,所有的线程都可以访问它。
B. 该进程的全局变量可以被 T1、T2、T3 共享。全局变量是存放在进程的数据段中的变量,在多线程情况下,所有线程都可以访问和修改这些变量。
C. 该进程中 T1、T2、T3 的栈指针是独立的,每个线程都有自己的栈空间,用来保存函数的局部变量和临时变量等。
D. 该进程中 T1 的栈指针不能被 T2、T3 共享。在多线程环境下,每个线程都有自己的栈区,不同线程之间是不能共享栈空间的,因为栈是由每个线程私有管理的。

第26题、第27题、第28题

进程 P1、P2、P3、P4、P5 和 P6 的前趋图如下所示。

若用 PV 操作控制进程 P1、P2、P3、P4、P5 和 P6 并发执行的过程,需要设置信号量 S1、S2、S3、S4、S5、S6、S7 和 S8,且信号量 S1~S8 的初值都等于零。下面 P1~P6 的进程执行过程中,空①和空②处应分别为 (26) ,空③和空④处应分别为 (27) ,空⑤和空⑥处应分别为(28)。

(26)
A. P(S1)P(S2)和 V(S3)V(S4)
B. P(S1)P(S2)和 V(S1)V(S2)
C. V(S3)V(S4)和 P(S1)P(S2)
D. V(S3)V(S4)和 P(S2)P(S3)
(27)
A. V(S5)和 P(S4)P(S5)
B. V(S3)和 P(S4)V(S5)
C. P(S5)和 V(S4)V(S5)
D. P(S3)和 P(S4)P(S5)
(28)
A. V(S6)和 V(S8)
B. P(S6)和 P(S7)
C. P(S6)和 V(S8)
D. P(S8)和 P(S8)

P2 进程运行完需要利用 V 操作 V(S3)V(S4)通知 P3 和 P4 进程,所以空①应该填 V(S3)
V(S4)。P3 进程等待 P1 和 P2 进程的通知,需要执行 2 个 P 操作,故空②应该填 P(S2)P(S3)。
根据前驱图,P3 进程运行完需要利用 V 操作 V(S5)通知 P4 进程,故空③应该填 V(S5)。
P4 进程需要等待 P2 和 P3 进程的通知,需要执行两个 P 操作,故空④应该填 P(S4)P(S5)。
根据前驱图,P5 进程需要等待 P4 进程的通知,需要执行一个 P 操作,故空⑤应该填 P(S6)。
P5 进程运行完需要利用 V 操作 V(S8)通知 P6 进程,故空⑥应该填 V(S8)

第29题

以下关于增量模型优点的叙述中,不正确的是 (29) 。
A. 能够在较短的时间提交一个可用的产品系统
B. 可以尽早让用户熟悉系统
C. 优先级高的功能首先交付,这些功能将接受更多的测试
D. 系统的设计更加容易

增量模型是一种迭代式软件开发模型,每个迭代周期都会交付一部分可用的功能。以下是对其他选项的解释:
A. 能够在较短的时间提交一个可用的产品系统:由于每个迭代周期都会交付一部分可用的功能,因此能够在较短的时间内提交一个可用的产品系统。
B. 可以尽早让用户熟悉系统:由于每个迭代周期都会提交部分功能,因此可以让用户尽早熟悉系统,并根据用户的反馈进行调整和优化。
C. 优先级高的功能首先交付,这些功能将接受更多的测试:由于优先级高的功能将优先交付,因此这些功能将接受更多的测试,从而提高产品质量。
D. 系统的设计更加容易:这个说法不正确。增量模型强调逐步迭代开发,每个迭代周期都需要完成一部分功能,因此需要预先规划好所需功能,并且要考虑未来的扩展性和兼容性,因此系统的设计并不比其它开发模型更加容易。

第30题

以下敏捷开发方法中, (30) 使用迭代的方法,把一段短的时间(如 30 天)的迭代称为一个冲刺,并按照需求优先级来实现产品。
A. 极限编程(XP)
B. 水晶法(Crystal)
C. 并列争求法(Scrum)
D. 自适应软件开发(ASD)

使用迭代的方法,把一段短的时间(如 30 天)的迭代称为一个冲刺,并按照需求优先级来实现产品的敏捷开发方法是 Scrum。
Scrum 是一种敏捷软件开发的过程框架,用于管理和控制软件开发过程。Scrum 中的团队通过计划、迭代、回顾等方式进行项目管理,采用迭代式开发模式,以 30 天左右的迭代周期(称为
冲刺)为基本单位,按照需求优先级来实现产品。在每个迭代周期结束时,团队会举行回顾会议,总结经验教训,不断优化团队的开发过程。
其他选项的描述如下:
极限编程(XP)是一种敏捷软件开发方法,关注团队成员之间的沟通、快速反馈、持续集成等开发实践。
水晶法(Crystal)是一种敏捷软件开发方法,强调团队合作、迭代开发、反馈机制等方面。
自适应软件开发(ASD)是一种敏捷软件开发方法,倡导根据需求的变化及时调整开发过程,实现软件开发的自适应性能力

第31题

若模块 A 通过控制参数来传递信息给模块 B,从而确定执行模块 B 中的那部分语句。则这两个模块的耦合类型是 (31) 耦合。
A. 数据
B. 标记
C. 控制
D. 公共

若模块 A 通过控制参数来传递信息给模块 B,从而确定执行模块 B 中的那部分语句,则这两个模块的耦合类型是控制耦合。控制耦合是指一个模块通过参数传递、调用参数等方式对被调用模块的控制流程进行控制的耦合。在这种情况下,一个模块通过参数传递或者调用参数的方式影响另一个模块的运行。例如,在本题中,模块 A 通过控制参数来传递信息给模块 B,从而确定执行模块 B 中的那部分语句,这种情况属于控制耦合。其他选项的描述如下:
数据耦合是指模块之间通过共享数据来实现信息交换和通信的耦合。标记耦合是指模块之间通过共享标记或者标识符来实现信息交换和通信的耦合。公共耦合是指模块之间共享全局数据区或者公共存储器的耦合。

第32题

在设计中实现可移植性设计的规则不包括 (32) 。
A. 将设备相关程序和设备无关程序分开设计
B. 可使用特定环境的专用功能
C. 采用平台无关的程序设计语言
D. 不使用依赖于某一平台的类库

实现可移植性设计的规则不包括 B. 可使用特定环境的专用功能。以下是对其他选项的解释:
A. 将设备相关程序和设备无关程序分开设计:将设备相关程序和设备无关程序分开设计可以使得设备无关部分更容易进行移植。
C. 采用平台无关的程序设计语言:采用平台无关的程序设计语言可以减少对特定平台的依赖,提高代码可移植性。
D. 不使用依赖于某一平台的类库:不使用依赖于某一平台的类库可以减少对特定平台的依赖,提高代码可移植性。

第33题

以下关于管道—过滤器软件体系结构风格优点的叙述中,不正确的是 (33) 。
A. 构件具有良好的高内聚、低耦合的特点
B. 支持软件复用
C. 支持并行执行
D. 适合交互处理应用

本题考察软件体系结构的基础知识。管道过滤器体系结构是一种传统的体系结构风格,该体系结构由一组成为过滤器的构件以及连接构件的管道组成,管道将数据从一个过滤器传送到另一个过滤器。该风格具有以下优点:
1、软件构件具有良好的隐蔽性和高内聚、低耦合的特点;
2、允许设计者将整个系统的输入输出行为看成是多个过滤器的行为的简单合成;
3、支持软件复用;
4、系统维护和增强系统性能简单;
5、允许对一些如吞吐量、死锁等属性的分析;
6、支持并行执行;

第34题、第35题

以下流程图中,至少需要 (34) 个测试用例才能覆盖所有路径。采用 McCabe 方法计算程序复杂度为 (35) 。


(34)
A. 3
B. 4
C. 5
D. 6
(35)
A. 2
B. 3
C. 4
D. 5

该流程图需要用 4 个用例实现覆盖所有路径。
用例一:开始、语句 1、判断 1(N)、语句 6、结束
用例二:开始、语句 1、判断 1(Y)、语句 2、判断 2(N)、语句 3、语句 5、语句 6、结束
用例三:开始、语句 1、判断 1(Y)、语句 2、判断 2(Y)、判断 3(N)、语句 4、语句 5、语句 6、结束
用例四:开始、语句 1、判断 1(Y)、语句 2、判断 2(Y)、判断 3(Y)、判断 1(Y)……
采用 McCabe 方法计算程序的复杂度,首先需要确定流程图中的环路数。该流程图中有 3 个环路,因此程序的复杂度为 3+1=4。

第36题

在软件系统交付给用户使用后,为了使用户界面更友好,对系统的图形输出进行改进,该行为属于 (36) 维护。
A. 改正性
B. 适应性
C. 改善性
D. 预防性

在软件系统交付给用户使用后,为了使用户界面更友好,对系统的图形输出进行改进,这属于改善性维护改善性维护是指对软件系统进行改进,以提高其质量、效率、易用性、可维护性等方面的特征,使其满足用户或市场的不断变化的需求。因此,对用户界面进行改进是改善性维护的一种常见行为,可以使用户获得更好的使用体验。而其他选项中,改正性维护(A)是指修复软件系统中已知的问题或缺陷;适应性维护(B)是指对软件系统进行适应性修改,以适应变化的环境、硬件、操作系统等;预防性维护(D)是指在软件系统还没有发生实际问题之前,对可能发生问题的代码进行被动或主动的检查和改进,以预防未来可能出现的问题

第37题、第38题

采用面向对象方法开发学生成绩管理系统,学生的姓名、性别、出生日期、期末考试成绩、查看成绩操作均被 (37) 在学生对象中。系统中定义不同类,不同类的对象之间通过 (38) 进行通信。
(37)
A. 封装
B. 继承
C. 多态
D. 信息
(38)
A. 继承
B. 多态
C. 消息
D. 重载

采用面向对象方法开发学生成绩管理系统,学生的姓名、性别、出生日期、期末考试成绩、查看成绩操作均被封装在学生对象中。系统中定义不同类,不同类的对象之间通过消息进行通信。封装是面向对象程序设计中的一种基本特性,它将数据和行为组合在一个类中,并且对外部隐藏了实现的细节,只暴露出一些公共的方法接口,以保证数据的安全和代码的可维护性。在这个学生成绩管理系统中,学生的姓名、性别、出生日期、期末考成绩、查看成绩操作都应该是学生对象的属性或方法,被封装在学生对象中。消息是面向对象程序设计中对象之间的通信方式,它是指向对象发送的请求。在这个学生成绩管理系统中,不同类的对象之间需要进行通信,比如教师对象需要获取学生对象的成绩信息,或者学生对象需要通知管理员对象修改其个人信息。这些通信都是通过消息来完成的。继承是一种实现代码重用的方式,通过建立类之间的继承关系,子类可以重用父类的属性和方法。多态是面向对象编程中的一个概念,允许相同的消息传递给不同的对象得到不同的行为结果。重载是指在一个类中定义多个相同名称但参数列表不同的方法。

第39题

对采用面向对象方法开发的系统进行测试时,通常从不同层次进行测试。测试类中定义的每个方法属于 (39) 层。
A. 算法
B. 类
C. 模板
D. 系统

对采用面向对象方法开发的系统进行测试时,通常从不同层次进行测试。测试类中定义的每个方法属于算法层。
测试是软件开发过程中至关重要的一环,测试的目的是发现并修复软件缺陷,确保软件具有所需的功能和质量。在面向对象方法中,软件通常被组织成多个层次,例如用户界面层、应用逻辑层、数据访问层等。为了有效地测试整个系统,需要从不同的层次进行测试。
算法层是指包含软件中的核心算法和数据结构的层次,这些算法和数据结构通常比较独立,可以通过单元测试进行测试。测试类中定义的每个方法通常都是针对某个算法或数据结构进行的,因此属于算法层。
其他选项描述的层次不太准确。类层并不是一种常见的测试层次,类的测试通常是针对类中的方法进行的;模板层也不是一种常见的测试层次;而系统层是指整个软件系统,而不是某个具体的测试层次。

第40题

在面向对象系统设计中,如果重用了一个包中的某个类,那么就要重用该包中的所有类,这属于 (40) 原则。
A. 共同封闭
B. 共同重用
C. 开放—封闭
D. 接口分离

在面向对象系统设计中,如果重用了一个包中的某个类,就要重用该包中的所有类,这属于共同重用原则。
共同重用原则的目的是鼓励开发者创建高内聚、低耦合的模块化代码,并促进代码的重用性和维护性。如果一个包中的所有类具有共同的目的和通用性,那么它们有更高的可能被其他模块所重用,从而降低了重复开发的成本。

第41题、第42题

以下关于 UML 序列图的描述是(41),下图所示 UML 图中消息可能执行的顺序是(42)。

(41)
A. 系统在它的周边环境的语境中所提供的外部可见服务
B. 某一时刻一组对象以及它们之间的关系
C. 系统内从一个活动到另一个活动的流程
D. 以时间顺序组织的对象之间的交互活动
(42)
A. a→b→c→a→b
B. c
C. a→b→a→b→c
D. a→b→c→a→b→c

对于 UML 图中的描述,其中
A 选项系统在它的周边环境的语境中所提供的外部可见服务是“用例图”的描述
B 选项某一时刻一组对象以及它们之间的关系是“对象图”的描述
C 选项系统内从一个活动到另一个活动的流程是“活动图”的描述
D 选项以时间顺序组织的对象之间的交互活动是“序列图”的描述
其中序列图中有一个大的矩形将其包裹,并且矩形中存在一个 Loop 循环为 Loop[1…2],表示循环的次数最少 1 次,最多两次,矩形中存在消息 a 和 b,并且按从左到右的顺序执行。该序列图先执行完循环中的消息再执行最后的消息 c。那么选项 A 和 D 在执行完 c 消息后又执行了循环的内容,然而此时循环已经结束。同理 B 选项没有执行循环直接执行 c 消息也不正确。而 C 选项执行了两次循环并退出执行最后的消息 c。

第43题

UML 包图展现由模型本身分解而成的组织单元及其依赖关系,以下关于包图的叙述中,不正确的是 (43) 。
A. 可以拥有类、接口构件、结点
B. 一个元素可以被多个包拥有
C. 一个包可以嵌套其他包
D. 一个包内元素不能重名

在 UML 图中,包图(Package Diagram)是用于把模型本身组织成层次结构的通用机制,不能执行,展现由模型本身分解而成的组织单元以及其间的依赖关系。
包可以拥有其他元素,可以是类、接口、构建、结点、协作、用例和图,甚至是嵌套的其他包。拥有是一种组成关系,是一种按规模来处理问题的重要机制,也意味着元素被声明在包中,一个元素只能被一个包拥有,拥有关系的包形成了一个命名空间,其中同一种元素的名称必须唯一。

第44题

在某招聘系统中,要求实现求职简历自动生成功能。简历的基本内容包括求职者的姓名、性别、年龄及工作经历等。希望每份简历中的工作经历有所不同,并尽量减少程序中的重复代码。针对此需求,设计如下所示的类图。该设计采用了 (44) 模式,由 Cloneable 示例指定创建对象的种类,声明一个复制自身的接口,并且通过复制这些 Resume,WorkExperience 的对象来创建新的对象。该模式属于 (45) 模式。


(44)
A. 单例(Singleton)
B. 抽象工厂(Abstract Factory)
C. 生成器(Builder)
D. 原型(Prototype)
(45)
A. 混合型
B. 行为型
C. 结构型
D. 创建型

该类图采用了原型模式。原型模式的主要思想是通过复制现有的对象来创建新的对象,从而避免创建过程中的重复工作。在该类图中,Resume 类实现了 Cloneable 接口,它定义了一个可复制自身的方法 clone()。当需要创建新的简历对象时,系统会根据已有的简历对象调用 clone()方法来复制一个新的简历对象。同时,由于原型模式是一种通过复制现有对象来创建新对象的设计模式,属于创建型模式。

第46题、第47题

某旅游公司欲开发一套软件系统,要求能根据季节,节假日等推出不同的旅行定价包,如淡季打折、一口价等。实现该要求适合采用 (46) 模式,该模式的主要意图是 (47) 。

(46)
A. 策略模式(Strategy)
B. 状态(State)
C. 观察者(Observer)
D. 命令(Command)
(47)
A. 将一个请求封装为对象,从而可以用不同的请求对客户进行参数化
B. 当一个对象的状态发生改变时,依赖于它的对象都得到通知并被自动更新
C. 允许一个对象在其内部状态改变时改变它的行为
D. 定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换

策略模式适合于解决一类问题,该类问题有多种不同的解决方法,需要根据不同的情况采用不同的解决方法。在这种情况下,可以使用策略模式将每种解决方法封装成一个独立的策略对象,客户端可以根据需要选择不同的策略对象。
对于旅游定价系统来说,不同的季节和节假日需要采取不同的定价策略,因此可以把不同的定价策略封装成独立的策略对象,并通过策略模式实现动态选择不同的策略。因为策略模式的主要意图就是定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。

第48题

Python 中采用 (48) 方法来获取一个对象的类型。
A. str()
B. type()
C. id()
D. object()

Python 中采用 type()方法来获取一个对象的类型。
type()函数返回对象的类型,能够帮助我们确定对象所属的类(class),例如:
python
x = 5
y = “hello”
print(type(x)) # 输出 <class ‘int’>
print(type(y)) # 输出 <class ‘str’>
因此,在 Python 中,如果需要获取一个对象的类型,我们可以使用 type()方法。而 str()方法是将对象转换为字符串的方法,id()方法返回对象的唯一标识符,object()是所有 Python 对象继承的基类,不是获取对象类型的方法,因此选项 A、C、D 都不正确

第49题

在 Python 语言中,语句 x = (49) 不能定义一个元组。
A. (1, 2, 1, 2)
B. 1, 2, 1, 2
C. tuple()
D. (1)

在 Python 语言中,用逗号分隔一组值,可以创建一个元组。因此,选项 A 和 B 都可以定义一个元组。选项 C 中的 tuple() 是一个空元组的构造方式。
对于选项 D,由于括号 () 既可以用来表示数学中的一个表达式,也可以用来括起元组,因此 (1) 并不表示一个元组,它实际上等价于整数 1。如果想要定义只有一个元素的元组,需要在元素后面加上逗号来消除歧义,例如 (1,) 表示只包含一个元素的元组。
在 python 中用代码进项验证,如下所示:
x = (1, 2, 1, 2) type(x) <class ‘tuple’>
x = 1, 2, 1, 2 type(x) <class ‘tuple’>
x = tuple() type(x) <class ‘tuple’>
x = (1) type(x) <class ‘int’>

第50题

关于 Python 语言的叙述中,不正确的是 (50) 。
A. for 语句可以用在序列(如列表、元组和字符串)上进行迭代访问
B. 循环结构如 for 和 while 后可以加 else 语句
C. 可以用 if…else 和 switch…case 语句表示选择结构
D. 支持嵌套循环

选项 C 中的“可以用 if…else 和 switch…case 语句表示选择结构”是不正确的。在 Python 中,并没有像其他编程语言(如 C/C++、Java)一样的 switch 语句,因此我们无法用 switch…case 语句来表示选择结构。相反,Python 使用 if 语句来实现选择结构。if 语句允许在条件为真时执行一个代码块,否则执行另一个代码块。Python 中的 if 语句形式如下:


if condition:
# 当条件为真时执行的代码块
else:
# 当条件为假时执行的代码块

因此,选项 C 中的描述是错误的。其他选项中,A、B、D 都是正确的描述。for 循环可以用于对序列进行迭代,循环结构后可以加上 else 语句,支持嵌套循环等。

第51题

在数据库应用系统的开发过程中,开发人员需要通过视图层、逻辑层次上的抽象来对用户屏蔽系统的复杂性,简化用户与系统的交互过程。错误的是 (51) 。
A. 视图层是最高层次的抽象
B. 逻辑层是比视图层更低一层的抽象
C. 物理层是最低层次的抽象
D. 物理层是比逻辑层更高一层的抽象

在数据库应用系统的开发过程中,开发人员需要通过视图层、逻辑层次上的抽象来对用户屏蔽系统的复杂性,简化用户与系统的交互过程。正确的说法是视图层是最高层次的抽象,逻辑层是比视图层更低一层的抽象,物理层是最低层次的抽象,因此选项 D 错误。
具体来说,视图层是用户看到的数据库的外部表现形式,也称为外模式,它提供给用户一个简化的、符合用户需要的数据视图。视图层的设计应该是与具体应用程序无关的,即可以被多个应用程序使用。
逻辑层是数据库管理系统内部,具体的说是在外模式和内模式之间的一个中介层,它把外模式映射为内模式,同时向上层提供数据加工、查询、更新等操作的接口,实现了数据独立性和操作独立性。
物理层是最低层次的抽象,它定义了数据在磁盘或其他存储设备上的组织方式和存取方法,包括数据存储结构、访问路径、存储设备的安排和控制等。

第52题

给定关系模式 R(U, F),其中 U 为属性集,F 是 U 上的一组函数,属于自反律的是 (52) 。
A. 若 Y∈X∈U,则 X→Y 为 F 所蕴含
B. 若 X→Y,Y→Z,则 X→Z 为 F 所蕴含
C. 若 X→Y,Z∈Y,则 X→Z 为 F 所蕴含
D. 若 X→Y,X→Z,则 X→YZ 为 F 所蕴含

根据函数依赖的性质,我们知道自反律指的是对于任意的属性集 X,都有 X→X 属于 F。因此,从给定的选项中可以得出,只有选项 A 满足自反律的要求,因为选项 A 中的 X 和 Y 可以相同,即 X=Y,这样就得到了 X→X,满足自反律的要求。
而选项 B、C、D 均不满足自反律的要求。选项 B 中的 X→Y 和 Y→Z 无法推出 X→X;选项C 中的 X→Y 和 Z∈Y 也无法推出 X→X;选项 D 中的 X→Y 和 X→Z 也无法推出 X→X。

第53题、第54题

给定关系模式 R(U, F),U = { A, B, C, D },函数依赖集 F = { AB→C, CD→B }。关系模式R (53) ,主属性和非主属性个数分别为 (54) 。
(53)
A. 只有 1 个候选关键字 ACB
B. 只有一个候选关键字 BCD
C. 有 2 两个候选关键字 ABD 和 ACD
D. 有 2 两个候选关键字 ACB 和 BCD
(54)
A. 4 和 0
B. 3 和 1
C. 2 和 2
D. 1 和 3

根据给定的函数依赖集 F,我们可以求出 R 的所有候选键:
首先看函数依赖集中的 AB→C,此时已经得到属性 A、B 和 C,还剩下属性 D 未被决定。
进一步地,我们可以发现,由于 D 不出现在任何右部,它只能在某个候选键中左边出现。因此,候选键必须包括 A、B 和 D 三个属性。因此,ABD 是一个候选键。
接下来看函数依赖集中的 CD→B,此时已经得到属性 B、C 和 D,此时还剩下属性 A 未被决定。进一步地,我们可以发现,由于 A 不出现在任何右部,它只能在某个候选键中左边出现。因此,候选键必须包括 A、C 和 D 三个属性。因此,ACD 是一个候选键。因此,R 的所有候选键为 ABD 和 ACD。根据关系模式的定义,主属性指的是一个关系模式的任何一个候选键的属性,而非主属性则是指不属于任何一个候选键的属性。因此,ABD 和 ACD 都是候选键,并且它们的并集等于 U,因此没有其他属性可以作为主属性。因此,R 中有 4 个主属性,0 个非主属性。

第55题、第56题

如果将 Students 表的插入权限赋予用户 User1,并允许其将该权限授予他人,那么正确的 SQL语句如下:GRANT (55) TABLE Students TO User1 (56) 。
(55)
A. INSERT
B. INSERT ON
C. UPDATE
D. UPDATE ON
(56)
A. FOR ALL
B. PUBLIC
C. WITH GRANT OPTION
D. WITH CHECK OPTION

在该场景下,需要将 Students 表的插入权限授予用户 User1,并允许其将该权限授予他人。因此,需要使用 GRANT 命令来授权,语句应该为:GRANT INSERT ON Students TO User1 WITH GRANT OPTION;其中,INSERT ON 表示授予 INSERT 权限,Students 表示授予权限的对象,User1 是被授权的用户,WITH GRANT OPTION 表示允许该用户将所授予的权限授权给他人。

第57题

利用栈对算术表达式 10 * (40 – 30 / 5) + 20 求值时,存放操作数的栈(初始为空)的容量至少为 (57) ,才能满足暂存该表达式中的运算数或运算结果的要求。
A. 2
B. 3
C. 4
D. 5

在计算算术表达式的值时,通常需要使用两个栈:一个运算符栈和一个操作数栈。对于给定的表达式 10 * (40 – 30 / 5) + 20,可以按照以下步骤进行计算:将表达式转换为后缀(逆波兰)表达式:10 40 30 5 / - * 20 +从左到右扫描表达式,遇到数字就将其压入操作数栈中,遇到运算符就从操作数栈中弹出相应的操作数进行计算,计算结果再压入操作数栈中。在这个过中,需要使用一个运算符栈来保存运算符及其优先级。
在扫描完整个表达式后,操作数栈中所剩余的元素即为表达式的计算结果。因此,在扫描后缀表达式时,遇到 10、40、30、5 等数字都压入操作数栈,而当遇到 / 时才进行出栈操作。遇到第一个符号之前操作数栈中已有 4 个元素,之后进行运算再将结果重新压入操作数栈,不断计算得到最终结果。因此操作数栈的容量至少为 4 才能满足运算结果的要求。

第58题

设有 5 个字符,根据其使用频率为其构造哈夫曼编码。以下编码方案中 (58) 是不可能的。
A. { 111, 110, 101, 100, 0 }
B. { 0000, 0001, 001, 01, 1 }
C. { 11, 10, 01, 001, 000 }
D. { 11, 10, 011, 010, 000 }

在构造哈夫曼编码的过程中,出现频率高的字符赋予较短的编码,出现频率低的字符赋予较长的编码。因此,哈夫曼编码可以保证每个字符的编码都是唯一的。对于选项 A、B、C,都是常见的哈夫曼编码,符合哈夫曼编码的特征。选项 A 中,出现次数
最多的字符编码为 111,出现次数最少的字符编码为 0;选项 B 中,出现次数最多的字符编码为1,出现次数最少的字符编码为 001;选项 C 中,出现次数最多的字符编码为 1,出现次数最少的字符编码为 000。而选项 D 中,出现次数最多的字符编码为 11,但是出现次数次多的字符编码为 011,违背了哈夫曼编码的原则。因此,选项 D 不可能是一个合法的哈夫曼编码。同时选项 D 中存在度为 1 的结点,而哈夫曼树中只有度为 0 和度为 2 的结点。不满足哈夫曼树的性质要求。并且画出该哈夫曼树可以发现有偶数个结点,而哈夫曼树应当是奇数个结点。

第59题

设有向图 G 具有 n 个顶点、e 条弧,采用邻接表存储,则完成广度优先遍历的时间复杂度为(59) 。
A. O(n + e)
B. O(n2)
C. O(e2)
D. O(n * e)

对于具有 n 个顶点、e 条弧的有向图 G,采用邻接表存储方式进行广度优先搜索,则遍历每个节点时,需要遍历其所有邻接边,共遍历了所有边,时间复杂度为 O(e);同时,每个节点最多入队一次,出队一次,因此存储所有节点所需的队列空间是 O(n)的,也就是总共要遍历 n 个顶点和 e 条边。所以时间复杂度为 O(n + e)。
具体而言,广度优先搜索算法的基本思路是从图中任选一个顶点作为起点,然后按照广度优先的原则依次访问与该顶点邻接的所有顶点;接下来,再依次访问这些被访问过的顶点邻接的所有未曾被访问过的顶点。当所有与起点连通的顶点都被访问完毕时,算法结束。广度优先搜索算法可以用队列来实现,时间复杂度为 O(n + e)

第60题

对某有序顺序表进行折半查找(二分查找)时,进行比较的关键字序列不可能是 (60) 。
A. 42, 61, 90, 85, 77
B. 42, 90, 85, 61, 77
C. 90, 85, 61, 77, 42
D. 90, 85, 77, 61, 42

折半查找每次都会将查找的区间缩小一半,即初始区间为[l, r],第一次查找的中间值为 mid,则会将待查找的 key 值和 mid 中间值进行比较,若 key < mid,则查找区间划分为[l, mid – 1],若key > mid,则查找区间划分为[mid + 1, r]。
对于题目中的 C 选项,可以发现第一次查找的 mid 值为 90,那么可以暂时将区间的情况划分为[l, 90, r],第二次查找的 mid 值为 85,则区间划分为[l, 85, 90-1],第三次查找的 mid 值为 61,则区间划分为[l, 61, 85-1],第四次查找的 mid 值为 77,则区间划分为[61+1, 77, 85-1],第五次查找的 mid 值为 42,可以发现 42 并不在区间中。也就是不可能二分查找到 mid 值为 42,反观选项A、B、D 均可正确查找。

第61题

设由三棵树构成的森林中,第一棵树、第二棵树和第三棵树的结点总数分别为 n1、n2 和 n3。将该森林转换为一颗二叉树,那么该二叉树的右子树包含 (61) 个结点。
A. n1
B. n1 + n2
C. n3
D. n2 + n3

将一棵树转换成二叉树的方法是,对于每个结点,其左子树即为原来的第一个孩子,右子树连向下一个兄弟结点。
假设第一棵树转换成的二叉树为 T1,第二棵树转换成的二叉树为 T2,第三棵树转换成的二叉树为 T3。将三棵树合并成一棵二叉树的过程是,将 T2 作为 T1 的右子树,再将 T3 作为 T2 的右子树。因此,该二叉树的右子树包含第二棵树和第三棵树中所有结点。所以,该二叉树的右子树包含结点总数为 n2 + n3

第62题、第63题

对一组数据进行排序,要求排序算法的时间复杂度为 O(nlgn),且要求排序是稳定的,则可采用(62) 算法。若要求排序算法的时间复杂度为 O(nlgn),且在原数据上进行,即空间复杂度为 O(1),则可以采用(63) 算法。
(62)
A. 直接插入排序
B. 堆排序
C. 快速排序
D. 归并排序
(63)
A. 直接插入排序
B. 堆排序
C. 快速排序
D. 归并排序

对一组数据进行排序,要求排序算法的时间复杂度为 O(nlogn),且要求排序是稳定的,则可以采用归并排序算法。
归并排序是一种稳定的、基于比较的排序算法,采用分治思想,将待排序列分成若干个子序列,对每个子序列进行内部排序,最后合并各个有序子序列,得到完整的有序序列。归并排序的时间复杂度为 O(nlogn),可以保证排序的稳定性。
如果要求排序算法的时间复杂度为 O(nlogn),且在原数据上进行,即空间复杂度为 O(1),则可以采用堆排序算法。
堆排序是一种不稳定的排序算法,它利用堆这种数据结构进行排序。堆排序的时间复杂度为O(nlogn),在原数据上进行排序,空间复杂度为 O(1)。但是,由于堆排序过程中必须先构建一个堆,因此需要占用额外的空间来存储堆。

第64题、第65题

采用 Kruskal 算法求解下图的最小生成树,采用的算法设计策略是 (64) 。该最小生成树的权值是 (65) 。

(64)
A. 分治法
B. 动态规划
C. 贪心法
D. 回溯法
(65)
A. 14
B. 16
C. 20
D. 32

Kruskal算法是一种使用贪心策略的最小生成树算法。该算法按照边权值的大小依次选择边,并保证在选择每条边时不会形成环,直到选出 n−1 条边为止。在给定的图中,各条边的权值如下:
AB:8 AC:1 AD:5 BC:5 BE:3
CE:4 CF:4 CD:5 DF:2 EF:9
(注意每次选取权值最小的边时,要留意是否构成环,构成则不能选取)按照边权值从小到大的顺序,首先选取权值为 1 的边 AC,接着选取权值为 2 的边 DF,接着选取权值为 3 的边 BE,接着选取权值为 4 的边 CE 和 CF。图中顶点为 6,此时已选取 5 条边。
最小生成树构造完毕,且不存在环。
最小生成树的权值为:1 + 2 + 3 + 4 + 4 = 14

第66题

www 的控制协议是 (66) 。
A. FTP
B. HTTP
C. SSL
D. DNS

"www"代表 World Wide Web(万维网),是一种基于超文本标记语言(HTML)的信息共享、交流平台。而“www”的控制协议是 B. HTTP(Hypertext Transfer Protocol,超文本传输协议),它是一种用于传输超媒体文档(例如 HTML)的应用层协议。HTTP 是一个请求/响应模型的协议,客户端向服务器发送请求,服务器向客户端返回响应内容。

第67题、第68题

在 Linux 操作系统中通常使用 (67) 。作为 Web 服务器,其默认的 Web 目录为 (68) 。
(67)
A. IIS
B. Apache
C. NFS
D. MYSQL
(68)
A. /etc/httpd
B. /var/log/httpd
C. /etc/home
D. /home/httpd

在 Linux 操作系统中通常使用 Apache 作为 Web 服务器,Apache 是一个开放源代码的HTTP 服务器软件,也是最流行的 Web 服务器之一。默认情况下,在 Apache 中网站文件存放的根目录为 /var/www/html 或 /var/www。而Apache 记录的日志文件一般存放在 /var/log/httpd 目录下。在 Linux 中,一般使用 Apache 作为 Web 服务器,其站点主目录是/home/httpd。

第69题

SNMP 的传输层协议是 (69) 。
A. UDP
B. TCP
C. IP
D. ICMP

SNMP(Simple Network Management Protocol)的传输层协议是 A. UDP(User Datagram Protocol)。SNMP 是一种用于管理网络设备的协议,可以监控和控制网络上的各种网络设备,包括路由器、交换机、服务器等。SNMP 消息是通过 UDP 协议进行传输的,其中 SNMP 协议为应用层协议,而 UDP 协议为传输层协议,用于在网络上发送数据报,没有连接建立和数据可靠性保证,但传输效率高。

第70题

某电脑无法打开任意网页,但是互联网即时聊天软件使用正常。造成该故障的原因可能是
(70) 。

A. IP 地址配置错误
B. DNS 配置错误
C. 网卡故障
D. 链路故障

根据题目描述,该电脑无法打开任意网页,但可以正常使用即时聊天软件,因此可以排除网络链路故障的可能性。造成该故障的原因可能是 DNS 配置错误。DNS(Domain Name System)是一种通过域名解析 IP 地址的分布式数据库系统。在上网时,计算机需要将域名解析为 IP 地址才能访问对应的网站。如果 DNS 服务器的配置有问题,或是DNS 缓存数据损坏,就可能导致无法访问互联网的情况。

第71题、第72题、第73题、第74题、第75题

Low-code and no code software development solutions have emerged as viable and convenient alternatives to the traditional development process
Low-code is a rapid application development (RAD) approach that enables automated code generation through(71)building blocks like drag-and-drop and pull-down menu interfaces. This(72)allows low-code users to focus on the differentiator rather than the common denominator of programming. Low-code is a balanced middle ground between manual coding and no-code as its users can still add code over auto-generated code.
No-code is also a RAD approach and is often treated as a subset of the modular plug-and-play, lowcode development approach. While in low-code there is some handholding done by developers in the form of scripting or manual coding, no-code has a completely (73) approach, with 100% dependence on visual tools.
A low-code application platform (LCAP) — also called a low-code development platform (LCDP) — contains an integrated development environment (IDE) with (74)features like APIs, code templates, reusable plug-in modules and graphical connectors to automate a significant percentage of the application development process. LCAPs are typically available as cloud-based Platform-as-a-Service (PaaS) solutions
A low-code platform works on the principle of lowering complexity by using visual tools and techniques like process modeling, where users employ visual tools to define workflows, business rules, user interfaces and the like. Behind the scenes, the complete workflow is automatically converted into code. LCAPs are used predominantly by professional developers to automate the generic aspects of coding to redirect effort on the last mile of (75).

(71) A. visual B. component-based C. object-oriented D. structural
(72) A. block B. automation C. function D. method
(73) A. medern B. hands-off C. generic D. labor-free
(74) A. reusable B. built-in C. existed D. well-konwn
(75) A. delivery B. automation C. development D. success

结语

解析仅供参考,如有疑问可以进交流群一起讨论,评论区留言不能及时回答,请见谅!
进群联系我

2023软件设计师真题解析(上半年-上午题)相关推荐

  1. 电子学会青少年软件编程Python编程等级考试一级真题解析(选择题+判断题)2022年6月

    电子学会青少年软件编程Python编程等级考试一级真题解析(选择题+判断题)2022年6月 一.选择题(共25题,共50分) 在Python编辑器中写好程序代码后,在Run菜单中,下列哪个命令可以用来 ...

  2. 电子学会 2020年6月 青少年软件编程Python编程等级考试一级真题解析(选择题+判断题+编程题)

    青少年编程Python编程等级考试一级真题解析(选择题+判断题+编程题) 2020年6月 一.选择题(共25题,共50分) 以下哪种输入结果不可能得到以下反馈: 重要的事情说三遍:安全第一!安全第一! ...

  3. 电子学会青少年软件编程 Python编程等级考试一级真题解析(判断题)2021年12月

    青少年编程 Python编程等级考试一级真题解析(判断题)2021年12月 二.判断题(共10题,共20分) 26. 变量名大小写是没有区分的,如变量名stuname和StuName是没区别的.( ) ...

  4. 电子学会 2021年6月 青少年软件编程Python编程等级考试一级真题解析(选择题+判断题+编程题)

    青少年编程Python编程等级考试一级真题解析(选择题+判断题+编程题) 2022年3月 一.选择题(共25题,共50分) 下列程序运行的结果是?( ) s = 'hello' print(s+'wo ...

  5. 电子学会 2021年9月 青少年软件编程Python编程等级考试一级真题解析(选择题+判断题+编程题)

    青少年编程Python编程等级考试一级真题解析(选择题+判断题+编程题) 2021年9月 一.选择题(共25题,共50分) 取整除的运算符是?( ) A. / B. // C. ÷ D. ** 答案选 ...

  6. 电子学会 2019年12月 青少年软件编程Python编程等级考试一级真题解析(选择题+判断题)

    青少年编程Python编程等级考试一级真题解析(选择题+判断题)2019年12月 一.选择题(共30题,共60分) 假设a=20,b=3,那么a or b的结果是() A. 20 B. 0 C. 1 ...

  7. 电子学会 2022年3月 青少年软件编程Python编程等级考试一级真题解析(选择题+判断题+编程题)

    青少年编程Python编程等级考试一级真题解析(选择题+判断题+编程题) 2022年3月 一.选择题(共25题,共50分) 已知a="161",b="16",c ...

  8. 电子学会 2022年9月 青少年软件编程Python编程等级考试一级真题解析(选择题+判断题+编程题)

    青少年编程Python编程等级考试一级真题解析(选择题+判断题+编程题) 2022年9月 一.选择题(共25题,共50分) 表达式len("学史明理增信 ,读史终生受益") > ...

  9. 2009年5月软件设计师考试试题解析全国首发

    [书名]软件设计师考试考前冲刺预测卷及考点解析:最新版 [作者]郭春柱 [ISBN]978-7-121-08407-2 [出版社]电子工业出版社 [出版日期]2009年8月 [定  价]39.50元 ...

  10. 软件设计师中级: 2019年上半年软件设计师考试上午真题 专业解析+参考答案

    1 [单选题] 计算机执行指令的过程中,需要由( )产生每条指令的操作信号并将信号送往相应的部件进行处理,以完成指定的操作. 问题1选项 A.CPU的控制器 B.CPU的运算器 C.DMA控制器 D. ...

最新文章

  1. nginx 反向代理和负载均衡策略实战案例
  2. MySQL配置文件my.cnf中文详解
  3. Android版‘音乐一点通’音乐播放器详情
  4. [转]PHP程序中的汉字编码探讨
  5. react里面的this_React 中 this指向问题
  6. [转]基于Starling移动项目开发准备工作
  7. junit:junit_简而言之,JUnit:另一个JUnit教程
  8. python 图 鼠标 显示_在matplotlib图形窗口(带imshow)中,如何删除、隐藏或重新定义鼠标的显示位置?...
  9. 10 条提升 Android 性能的建议
  10. C++_类和对象_对象特性_友元_成员函数做友元---C++语言工作笔记054
  11. 2021-08-21
  12. different intergers
  13. 应用服务器文件路径设置
  14. Linux下数学(科学)软件简介(一)
  15. GT注册大全-终结动态修订版
  16. 国产杂牌机java_国货精品 山寨 杂牌 HiPhone 诺卡 MTK联发科 mrp
  17. linux安装tftp服务器
  18. 定义一个矩形类Rectangle
  19. 「 神器 」极简网速监控悬浮窗软件
  20. 信息系统项目管理师 论文

热门文章

  1. goldbach猜想c语言,用C语言来验证哥德巴赫猜想(定义的是int型)
  2. 【Linux】1.0 登录用户配置 + 基本指令part 1
  3. 【解决方案】Windows已经关闭睡眠了可还是会自己隔几分钟不动黑屏
  4. 紫光档案管理系统 editPass.html SQL注入漏洞 CNVD-2021-41638
  5. 解决C++中两个类的头文件互相包含问题
  6. python 字符串转换,如:IloveYOUmoreTHANiCANsay=I love you more than i can say`
  7. mysql 三天 分组查询_3mysql第三天 查询的指令补充
  8. extjs 自己的小小总结
  9. 阿里云中“间“力量!RocketMQ
  10. 基于nginx+consul-template+consul+springboot实现自动发现服务的集群