目录
英文题
数据结构
7.关于链表操作中,说法正确的是( )。
A.新增一个头结点需要遍历链表 B.新增一个尾结点需要遍历链表
C.删除最后一个节点需要遍历链表 D.删除第一个节点需要遍历链表
- A. 新增一个头结点不需要遍历链表,只需将新节点的 next 指向当前头结点,然后更新头指针即可。
- B. 新增一个尾结点通常需要遍历链表,除非有一个指向尾结点的指针。
- C. 删除最后一个节点需要遍历链表,因为需要找到倒数第二个节点以更新其 next 指针为null。
- D. 删除第一个节点不需要遍历链表,只需将头指针指向第二个节点即可。
8.某队列允许在其两端进行入队操作,但仅允许在一端进行出队操作。若元素a、b、c、d依次全部入队列,之后进行出队列操作,则不能得到的出队序列是( C )。
A.dbac B.cabd C.acdb D.bacd
9.对于一棵树,每个结点的孩子结点个数称为结点的度,结点度数的最大值称为树的度。某树T的度为4,其中有5个度为4的结点,8个度为3的结点,6个度为2的结点,10个度为1的结点,则T中的叶子结点个数为( )。
A.38 B.29 C.66 D.57
总结点数=(度为1的结点数*1+度为2的结点数*2...度为5的结点数*5)+1
即总边数+1=5*4+8*3+6*2+10*1+1=67;
叶子结点数=总结点数-所有有度的结点数=67-(5+8+6+10)=38;
10.森林的叶子节点是( C )。
A.二叉树中没有左孩子的节点 B.二叉树中没有右孩子的节点
C.森林中度为0的节点 D.二叉树中度为1的节点
11.已知二维数组A按行优先方式存储,每个元素占用2个存储单元,第一个元素A[0][0]的地址为100,元素A[3][3]的存储地址是220,则元素A[5][5]的地址是( )。
A.300 B.310 C.306 D.296
Address(A[i][j])=Base_Address+((i×Number_of_Columns+j)×Element_Size)
∴A[3][3]=100+(3*数组列数+3)*2=220
总列数=19;
A[5][5]=100+(5*19+5)*2=300;
排序
插入排序 | 直接插入【稳定】 | O(n²) | O(1) | 将序列分为已排序和未排序两部分,逐个从未排序部分取出元素,并将其插入到已排序部分的适当位置 | |
Shell排序 | O(n²) | O(1) | 是插入排序的改进版,通过将序列分成若干子序列进行排序,逐步减少子序列的间隔,最终进行一次插入排序 | ||
选择排序 | 直接选择 | O(n²) | O(1) | 在未排序部分中找到最小(或最大)的元素,并将其放到已排序部分的末尾 | |
堆排序 | O(nlog2n) | O(1) | 将序列构造成一个堆(通常是大顶堆),然后反复将堆顶元素与末尾元素交换,并重新调整堆 | ||
交换排序 | 冒泡排序【稳定】 | O(n²) | O(1) | 重复地遍历待排序的序列,比较相邻元素并交换顺序不对的元素。每一趟遍历后,最大的元素会被“冒泡”到序列的末尾 | |
快速排序 | O(n²) | O(nlog2n) | 选择一个“基准”元素,将序列分为小于基准和大于基准的两部分,递归地对这两部分排序 | ||
归并排序【稳定】 | O(nlog2n) | O(n) | 递归地将序列分成两半,分别排序,然后合并两个已排序的子序列 | ||
基数排序【稳定】 | O(d(r+n)) | O(r+n) | 按位(从低位到高位)对元素进行排序,通常使用稳定的计数排序作为子过程 |
基本有序时选择用直接插入或冒泡;
待排数目大时用时间复杂度小的;
稳定用归并;
待排关键字随机分布时用快排;
12.采用简单选择排序算法对序列(49,38,65,97,76,13,27,49)进行非降序排序,两趟后的序列为( )。
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)
简单选择排序:每次找出最小值和第一个交换
13.在29个元素构成的査找表中查找任意一个元素时,可保证最多与表中5个元素进行比较即可确定查找结果,则采用的查找表及查找方法是( )。
A.二叉排序树上的查找 B.顺序表上的顺序查找
C.有序顺序表上的二分查找 D.散列表上的哈希查找
- 二分查找(选项C):二分查找是一种在有序顺序表上进行的查找方法。它通过每次将查找范围缩小一半来快速定位目标元素。对于29个元素,二分查找的最坏情况下的比较次数是 ⌈log2(29)⌉=5⌈log2(29)⌉=5。因此,最多需要5次比较。
- 二叉排序树上的查找(选项A):查找次数取决于树的高度,最坏情况下可能需要比较的次数会超过5次,特别是在不平衡的树中。
无左子树,右子树依次比根节点大;
- 顺序表上的顺序查找(选项B):在最坏情况下,需要比较29次才能找到目标元素。
- 散列表上的哈希查找(选项D):查找效率取决于哈希函数和冲突解决策略,通常情况下查找效率很高,但不能保证最多5次比较。key%m=>索引;
14. 算术表达式b*(a+c)-d的后缀式是( D)。+、-、*表示算术的加、减、乘运算,运算符的优先级和结合性遵循惯例。
A.ba+cd*- B.bacd+*- C.ba*c+d*- D.bac + *d-
15.16.正规集(ab|c)(1|2|3),可以识别的字符种类有( D )个,下列( A)可被匹配
A.1 B.2 C.3 D.6
A.ab2 B.abc C.a2 D.123
17.对下列有向图的邻接矩阵,进行深度遍历的次序是( )。
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
深度遍历次序不唯一:选择一条路径没有路后退回到上一节点继续判断走;
画出等价图
18.当一棵非空二叉树的( A )时,对该二叉树进行中序遍历和后序遍历所得的序列相同。
A.每个非叶子结点都只有左子树 B.每个非叶子结点都只有右子树
C.每个非叶子结点的度都为1 D.每个非叶子结点的度都为2
计算机组成
CPU执行指令流程
19.在计算机系统中,CPU中跟踪后继指令地址的寄存器是( )。
A.指令寄存器 B.状态条件寄存器 C.程序计数器 D.主存地址寄存器
运算器:ALU AC DR PSW
控制器:PC IR ID AR 时序部件
PC->AR->DR->IR->ALU/AC/PSW
CPU执行一条指令时涉及的主要寄存器及其流程:
1.程序计数器(Program Counter, PC):
- 功能:存储下一条要执行指令的地址。
- 流程:在指令周期开始时,PC的值被加载到主存地址寄存器(MAR)中,以从内存中获取指令。执行完当前指令后,PC通常会自动递增以指向下一条指令。
2.主存地址寄存器(Memory Address Register, MAR):
- 功能:存储当前要访问的内存地址。
- 流程:从PC中获取地址,用于从内存中读取指令或数据。
3. 主存数据寄存器(Memory Data Register, MDR):
- 功能:存储从内存中读取的数据或要写入内存的数据。
- 流程:在取指令阶段,MDR从内存中接收指令字节,并将其传递给指令寄存器(IR)。
4. 指令寄存器(Instruction Register, IR):
- 功能:存储当前正在执行的指令。
- 流程:从MDR中接收指令,并将其解码以确定要执行的操作。
5. 状态条件寄存器(PSW):
- 功能:存储运算结果的状态信息,如零标志、进位标志、溢出标志等。
- 流程:在执行指令时,ALU的结果会更新SCR中的标志位,以反映运算的状态。
指令执行的基本流程:
1. 取指令(Fetch):
- PC的值被加载到MAR中。
- 从内存中读取指令到MDR。
- MDR中的指令被加载到IR中。
- 解码(Decode):
- IR中的指令被解码,确定操作码和操作数。
3. 执行(Execute):
- 根据解码结果,执行相应的操作(如ALU运算、内存访问等)。
- 更新状态条件寄存器(PSW)以反映运算结果。
- 写回(Write Back):
- 将运算结果写回到寄存器或内存中。
- 更新PC:
- PC递增以指向下一条指令,准备进入下一个指令周期。
20.在CPU调度中,( C )不可能的。
A.放权等待 B.资源等待 C.无限等待 D.定时等待
层次化存储
21.硬盘所属的存储类别是( )。
A.寄存器 B.缓存 C.主存 D.辅存
RAM随机存储,断电丢失:
- SRAM:静态,速度快,价格高,不用刷新,集成度低[32K],晶体管
- DRAM:动态,速度慢,价格低,需要刷新,集成度高[16G],电容+晶体管
ROM只读存储,断电不丢失,主板
- EEPROM:电可擦除[不可修改,但可以擦除重写]
Flash闪存
- 固态硬盘
I/O控制方式
22.在微型计算机中,管理键盘最适合c采用的 I/O控制方式是( )方式。
A.DMA B.无条件传送 C.程序查询 D.中断
程序查询:
中断:中断发生时,CPU需要暂停当前执行的任务,保存上下文,处理中断,然后恢复任务
DMA通道:主存与I/O之间有通路,无需CPU直接参与
I/O通道:专门的硬件通道,管理与外部设备的数据传输,通过控制器处理多个I/O设备的请求
23.FAT文件系统用的( )文件管理结构。
A.索引 B.基于文件的簇状链式结构 C.链式结构 D.顺序结构
24.某文件管理系统在磁盘上建立了位示图(bitmap),记录磁盘的使用情况。若计算机系统的字长为128位,磁盘的容量为1024 GB,物理块的大小为8MB,那么该位示图的大小为( )个字。
A.4096 B.1024 C.2048 D.4098
1.计算磁盘的总块数:
- 总块数 = 磁盘容量 / 每个块的大小 = 1,048,576MB/8MB=131,0721,048,576MB/8MB=131,072 块
2.计算位示图的大小:
- 每个块需要1位来表示其使用情况。因此,位示图需要131,072位。
3. 将位示图的大小转换为字的数量:
- 位示图的大小(以字为单位)= 总位数 / 字长 = 131,072/128=1,024131,072/128=1,024 个字
数据库
25.以下不属于函数依赖的Armstrong公理系统的是( )。
A.自反规则 B.传递规则 C.合并规则 D.增广规律
Armstrong公理:自反、传递、增广
推导:合并
26.在关系表中选出若干属性列组成新的关系表,可以使用(A)操作实现。
A.投影 B.笛卡儿积 C.选择 D.差
范式
27.下面( )范式包含多值依赖。
A.1NF B.2NF C.3NF D.4NF
1NF:每个字段只包含一个值,消除重复组
2NF:在1NF的基础上,消除部分依赖(非主属性不能依赖于主键的一部分)。
3NF:在2NF的基础上,消除传递依赖(非主属性不能依赖于其他非主属性)。
4NF:在3NF的基础上,消除多值依赖
28.用于收回SQL访问控制权限的操作是(C )。
A.GRANT B.DELETE C.REVOKE D.DROP
- GRANT:用于授予用户特定的权限。
GRANT 权限列表 ON 表名 TO 用户[with grant option]
- DELETE:用于删除表中的数据。
- REVOKE:用于收回先前授予的权限。
REVOKE 权限列表 ON 数据对象 TO 用户或角色名称
- DROP:用于删除数据库对象,如表、视图等。
DROP [Table|view|index|condtraint|schema] [if exists] object name;
29.数据库的基本表、存储文件和视图的结构分别对应( )。
A.用户视图、内部视图和概念视图
B.用户视图、概念视图和内部视图
C.概念视图、用户视图和内部视图
D.概念视图、内部视图和用户视图
- 基本表: 概念视图,因为它们定义了数据库的逻辑结构和数据模型。
- 存储文件:内部视图,因为它们涉及数据在物理存储上的组织和存取方式。
- 视图:用户视图,因为视图是用户看到的数据库的逻辑表示,通常用于简化数据访问和提供安全性。
知识产权
30.在撰写学术论文时,通常需要引用某些文献资料。以下叙述中,(A )是不正确的。
A.既可引用发表的作品,也可引用未发表的作品
C.只能限于介绍、评论作品
B.必征得原作者的同意,不需要向他支付报酬
D.只要不构成自己作品的主要部分,可适当引用资料
31.由于知识技术可以同时被多个人使用,所以知识专利具有()。
A.双重性 B.独占性 C.地域性 D.实践性
独占性:专利权赋予专利持有人在特定时间内对其发明的独占使用权。这意味着即使知识技术可以同时被多个人使用,只有专利持有人或被授权的人可以合法地使用该技术
32.程序员甲将其编写完成的软件程序发给同事乙并进行讨论,之后由于甲对该程序极不满意,因此甲决定放弃该程序,后来乙将该程序稍加修改并署自己名在某技术论坛发布。
下列说法中,正确的是( )。
A.乙对该程序进行了修改,因此乙享有该程序的软件著作权
B.乙的行为没有侵犯甲的软件著作权,因为甲己放弃程序
C.乙的行为未侵权,因其发布的场合是以交流学习为目的的技术论坛
D.乙的行为侵犯了甲对该程序享有的软件著作权
软件著作权:即使程序员甲对程序不满意并决定放弃使用,甲仍然拥有该程序的著作权,除非甲明确将著作权转让给他人。
商标权可以延长;
软件工程
软件开发模型
33.瀑布模型的主要特点是( C)。
A.用户容易参与到开发活动中
B.易于处理可变需求
C.缺乏灵活性
D.用户与开发者沟通容易
1瀑布模型:需求分析->设计->编码->测试->运行与维护
以文档为驱动,需求明确,小规模
需求变更大时项目会延迟;问题发现和修复晚;客户参与度低;
2V模型:需求建模<<<验收测试
概要设计<<<系统测试
详细设计<<<集成测试
编码<<<单元测试
需求要求明确,变更不频繁;将测试过程纳入开发中
3演化模型:迭代瀑布模型,适用对软件需求缺乏准确认知情况的
4原型模型:需求不明确,经常变化的项目,但要有最终系统的基本特征;
沟通->快速计划->建模->构建原型->部署交付-<
5增量模型:[瀑布+原型]变化频繁,开发周期长,规模大,快速交付,不断迭代更新,分批交付;
6螺旋模型:[瀑布+演化]制定计划->风险分析->实施工程->用户评价->制定计划-<
强调风险分析,沿时间和成本演化,大型风险高迭代;
7喷泉模型:面向对象开发,迭代和无间隙,开发周期短,复用好;内部迭代可能需求和设计混乱;
8统一过程UP:以用例和风险为驱动,架构为中心,迭代和增量,用UML方法和工具;
34.结构化分析方法的基本思想是( B)。
A.自底向上逐步分解
B.自顶向下逐步分解
C.自底向上逐步抽象
D.自顶向下逐步抽象
结构化分析方法:自顶向下逐步分解
数据流图:自顶向下,从抽象到具体
数据流图
35.数据流图中的组成不包括(D)。
A.数据流 B.外部实体 C.数据加工 D.控制流
数据流:带有名字的箭线表示;
加工(处理):动词,圆角矩形或圆表示;
数据存储:数据库或文件形式存储的数据,开口矩形表示;
外部实体:系统之外的人或物或其他系统;
36.结构化设计方法中使用结构图来描述构成软件系统的模块以及这些模块之间的调用关系。
结构图的基本成分不包括()。
A.模块 B.调用 C.数据 D.控制
设计模式
37.观察者(Observer)模式适用于(D )。
A.访问一个聚合对象的内容,而无需暴露他的内部表示。
B.减少多个对象或类之间的通信复杂性。
C.将对象的状态恢复到先前的状态,
D.一个多对象依赖关系。当一个对象修改后,依赖他的对象都自动得到通知
创建型:
![]()
结构型:
![]()
行为型:
![]()
变量存储空间分配
38.在C/C++程序中,对于函数中定义的非静态局部变量,其存储空间在(A)分配。
A.栈区 B.静态数据区 C.文本区 D.自由堆区
- 栈区:用于存储函数调用时的局部变量、函数参数和返回地址。非静态局部变量在函数调用时分配空间,并在函数返回时自动释放。
- 静态数据区:用于存储全局变量、静态变量和常量,这些变量在程序的整个生命周期内存在。
- 文本区:用于存储程序的代码段,即可执行指令。
- 自由堆区(堆区):用于动态内存分配,程序员可以在运行时使用malloc、calloc、new等函数分配和释放内存
解释型&编译型
39.以下关于通过解释器运行程序的叙述中,错误的是(C )。
A.可以由解释器直接分析并执行高级语言源程序代码
B.与直接运行编译后的机器码相比,通过解释器运行程序的速度更慢
C.解释器运行程序比运行编译和链接方式产生的机器代码效率更高
D.可以先将高级语言程序转换为字节码,再由解释器运行字节码
目标程序 效率 灵活性 可移植 解释型
无
低 好 好 编译型 有 高 差 差 解释型语言:Python、JavaScript、Ruby、PHP、Shell、MATLAB
编译型语言:C、C++、Go、Rust、Pascal(Delphi)、汇编
40.进行面向对象设计时,以下(B )不能作为继承的类型。
A.多重继承 B.分布式继承 C.单重继承 D.层次继承
软件设计7大原则
- 开闭原则: 对扩展开放,对修改关闭。
- 里氏替换:不要破坏继承体系;子类可以扩展父类的功能,但不能改变父类原有的功能[列:正方形不是长方形]
- 依赖倒置:面向接口编程[列:顾客类设计时同具体的商店类绑定]。
- 单一职责:实现类要职责单一[列:学生工作包括生活辅导和学业指导]。
- 接口隔离:在设计接口的时候要精简单一[功能内容太多,分到不同模块]。
- 迪米特法则:降低耦合度,两个实体如无须直接通信,就不直接相互调用,通过第三方转发该调用[列:明星-粉丝-经纪人]。
- 合成复用原则:优先使用组合或者聚合关系复用,少用继承关系复用[列:汽车分类动力+颜色]。
41.进行面向对象系统设计时,若存在包A依赖于包B,包B依赖于包C,包C依赖于包A,则此设计违反了(D)原则。
A.稳定抽象 B.稳定依赖 C.依赖倒置 D.无环依赖
- 无环依赖原则:要求包之间的依赖关系不能形成环。环形依赖会导致系统的模块化和可维护性变差,因为修改一个包可能会影响到依赖链上的所有包。
- 稳定抽象原则:建议稳定的包应该是抽象的,以便于扩展。
- 稳定依赖原则:建议包应该依赖于比自己更稳定的包。
- 依赖倒置原则:建议高层模块不应该依赖于低层模块,二者都应该依赖于抽象。
UML
42.UML类图在软件建模时,给出软件系统的一种静态设计视图,用(C)关系可明确表示两类事物之间存在的特殊/一般关系。
A.聚合 B.依赖 C.泛化 D.实现
结构图(静态图):类图、对象图、包图、构件图、部署图、组合结构图、制品图
行为图(动态图):用例图、顺序图、活动图、通信图、状态图、定时图、交互概览图
类图:对于
继承(泛化)、实现(实现)
这两种关系比较简单,它们体现的是一种类与类、或者类与接口之间的纵向关系
。 其他的四种关系则体现的是类与类、或者类与接口之间的引用/横向关系
。这四种关系所表现的强弱程度来看,从强到弱依次为:组合>聚合>关联>依赖
用例之间的关系主要包括泛化、包含和扩展三种。
扩展关系中,基本用例是完整的,执行基本用例不一定执行扩展用例;但包含关系中的基本用例不完整,执行基本用例必须执行包含用例。
- +:公有属性,其它类可以访问该属性
-:私有属性,不能被其它类访问(默认为私有)
#:保护属性,只能被本类及其派生类访问
~:包内可见,可以被本包中的其它类访问
Python
43.执行以下 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]]
tuple元组:不可变、有序、可重复 tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2 )
list列表:可变、有序、可重复 list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
dict字典:可变、无序、不重复tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
set集合:可变、无序、不重复 sites = {'Google', 'Taobao', 'Runoob', 'Facebook'}
44.关于 Python,下列说法正确的是()。
A.用 try 捕获异常,有 except,无需执行 finally
B.可以使用 raise 关键字来手动抛出异常
C.except Exception可以捕获所有异常
D.可以用 switch...case 语句表示选择结构
- finally 块是可选的,但如果存在,它总是会执行,无论是否发生异常。
- 可以使用 raise 关键字来手动抛出异常。
- except Exception 可以捕获大多数异常,但并不是所有异常。例如,系统退出异常(如 SystemExit、KeyboardInterrupt)不会被捕获。
- Python 没有 switch...case 语句。可以使用 if...elif...else 结构来实现类似的功能。
软件测试
45.软件测试过程中的系统测试主要是为了发现(D)阶段的问题
A.软件实现 B.概要设计 C.详细设计 D.需求分析
软件实现:主要通过单元测试和集成测试来验证。
概要设计和详细设计:主要通过集成测试和验证设计的正确性。
需求建模<<<验收测试
概要设计<<<系统测试
详细设计<<<集成测试
编码<<<单元测试
搞不懂到底选B还是D。。。
白盒测试
46.下列测试方法中,(C )程度最高。
A.语句覆盖 B.判定覆盖 C.路径覆盖 D.条件覆盖
- 语句覆盖:确保每个语句至少被执行一次。发现错误能力较弱,因为它可能忽略条件和分支的不同组合。
- 判定覆盖(分支覆盖):确保每个分支(判定)至少被执行一次。
- 条件覆盖:确保每个条件的每个可能结果(真或假)至少被执行一次。
- 更强于判定覆盖,因为它关注每个条件的结果。
- 判定/条件覆盖:结合判定覆盖和条件覆盖,确保每个判定和条件的结果都被测试。
- 路径覆盖:确保每一条可能的执行路径都被测试。最强的覆盖标准,因为它考虑了所有可能的路径组合。
路径覆盖提供了最全面的测试,但在实践中可能难以实现,尤其是在复杂的程序中,因为路径数量可能呈指数增长。
判定和条件的区别:对于一个简单的 if 语句 if (A && B), 判定覆盖要求测试用例使整个条件 A && B 为真和假各一次。条件覆盖要求测试用例使 A 为真和假各一次,以及 B 为真和假各一次;
面向对象测试
47.面向对象软件从不同层次进行测试。( )层测试类中定义的每个方法,相当于传统软件测试中的单元测试。
A.模板 B.系统 C.类 D.算法
算法层[单元测试]:测试类中定义的每个方法;
类层[模块测试]:测试一个类中方法和属性之间的相互作用;
模板层[集成测试]:类与类之间;
系统层:各个子系统,组装过程中进行测试;
48.软件交付之后,由于软硬件环境发生变化而对软件进行修改的行为属于(B)维护。
A.改善性 B.适应性 C.预防性 D.改正性
计算机网络
49.TCP 的序号单位是( )。
A.赫兹 B.字节 C.比特 D.报文
50.在计算机网络协议5层体系结构中,(B)工作在数据链路层
A.路由器 B.以太网交换机 C.防火墙 D.集线器
网络层:路由器、防火墙
数据链路层:交换机、网桥
物理层:中继器、集线器
51.52.以太网交换机属于网络模型中(C),管理的是( )。
A.网络层 B.传输层 C.数据链路层 D.物理层
A.IP 地址 B.mac地址 C报文 D.帧
交换机也称多端口网桥,工作在数据链路层,能够识别帧的内容。在同一时刻可以进行多个端口之间的数据传输,每一端口都可视为独立的网段,连接在其上的网络设备独自享有全部的带宽,无须同其他设备竞争使用,每一个端口是一个冲突域,所有端口是一个广播域;
53.WW 服务器与客户机之间主要采用(B )安全协议进行网页的发送和接收。A.HTTP B.HTTPS C.HTML D.SMTP
54.VLAN 不能隔绝(C)。
A.广播域 B.内网互访 C.内外网 D.攻击和漏洞利用
55.下面(C)命令可以查看网络配置
A.ping B.netstat C.ipconfig D.telnet
ipconfig:查看本机IP信息;
traceroute[tracert]:路由跟踪命令;
netstat:监控TCP/IP网络,显示路由表、实际网络连接和每一个网口设备的状态信息;
nslookup:域名查询命令,查询DNS解析域名记录;
信息安全
56.下列措施中,( )可以保证数据的可靠性
A.访问控制 B.数据加密 C.鉴别 D.异地数据备份
访问控制:主要用于限制对数据的访问,防止未授权访问,但不能保证数据本身的可靠性。
数据加密:保护数据的机密性,防止数据被窃取,但不直接影响数据的可靠性。
鉴别:确保用户或系统的身份真实性,防止伪造,但同样不直接保证数据的可靠性。
异地数据备份:通过在不同地点备份数据,可以防止因自然灾害、设备故障等导致的数据丢 失,从而有效保证数据的可靠性。
57.黑客获取整个用户资料信息属于(C )。
A.撞库 B.社工库 C.拖库 D.洗库
撞库:指的是黑客使用已知的用户名和密码组合尝试登录多个账户,通常是利用用户在不同 网站上使用相同密码的习惯。
社工库:指的是通过社交工程手段收集的用户信息,通常是通过社交媒体或其他公开渠道获 取的用户数据。
拖库:指的是黑客从数据库中提取大量用户信息,通常是通过攻击数据库或利用漏洞获取整 个数据库的内容。
洗库:通常指的是对获取的数据进行清洗和处理,以便于后续使用或出售。
58.下列算法属于 Hash 算法的是( A)。
A.SHA B.DES C.IDEA D.RSA
59.下列( A)属于哈希算法。
A.SHA-1 B.AES C.DES D.RSA
对称算法:DRS、3DES、RC-5、IDEA、AES、RC4
非对称算法:RSA、ECC、DSA
MD5摘要算法
哈希算法:MD5、SHA、SM3、CRC
60.利用报文摘要算法生成报文摘要的目的是()。
A.防止发送的报文被篡改
B.对传输数据进行加密,防止数据被窃听
C.验证通信对方的身份,防止假冒
D.防止发送方否认发送过的数据
摘要算法[哈希/散列算法]任意长度的输入映射为固定长度的输出数据;结果不可逆,用于数据完整性校验,长度128bit 即32个16进制字符组成的字符串;
软件体系结构
61.若浮点数用补码表示,则判断运算结果为规格化数的方法是()。
A.阶符与数符相同为规格化数
B.阶符与数符相异为规格化数
C.数符与尾数小数点后第一位数字相异为规格化数
D.数符与尾数小数点后第一位数字相同为规格化数
62.在采用定点二进制的运算器中,减法运算一般是通过( A)来实现的。
A.补码运算的二进制加法器
B.原码运算的二进制加法器
C.补码运算的二进制减法器
D.原码运算的二进制减法器
63.对于定点纯小数的数据编码,下述说法正确的是(D)。
A.仅原码能表示-1
B.仅反码能表示-1
C.原码和反码均能表示-1
D.仅补码能表示-1
定点小数表示中,只有补码能表示 -1
64.循环冗余校验码(CRC)利用生成多项式进行编码。设数据位为n位,校验位为k位,则 CRC码的格式为( )。
A.k个校验位按照指定间隔位与n个数据位混淆
B.k个校验位之后跟n个数据位
C.n个数据位之后跟k个校验位
D.k个校验位等间隔地放入n个数据位中
65.某系统由下图所示的冗余部件构成。若每个部件的千小时可靠度都为 R,则该系统的千小时可靠度为(D)。
A.(1-(1-R)²)(1-R) B.(1-R)²(1-R²) C.R(1-R²)R D.R(1-(1-R)²)R
66.某个程序所有者拥有所有权限,组成员有读取和运行的权限,其他用户只有运行的权限该程序的权限为(C)。
A.742 B.741 C.751 D.752
读(r/4):Read,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
写(w/2):Write,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
执行(x/1):execute,具有执行文件的权限;对目录来说,具有进入目录的权限
67.以下哪个活动可以提高软件质量(D)。
A.需求分析 B.软件开发 C.软件测试 D.技术评审
68.以下关于甘特图的叙述中,不正确的是()。
A.一种进度管理的工具
B.易于看出每个子任务的持续时间
C.易于看出目前项目的实际进度情况
D.易于看出子任务之间的衔接关系
PERT图描绘出项目包含的各种活动的先后次序,标明每项活动的时间或相关的成本,能清晰地描述子任务之间的依赖关系;
甘特图能清晰地描述每个任务从什么时候开始,到什么时候结束,以及任务之间的并行关系。但它不能清晰地反应出任务之间的依赖关系。
69.软件文档在软件生存期中起着重要的作用,其作用不包括(A)。
A.提高软件运行效率
B.作为开发过程的阶段工作成果和结束标记
C.提高开发过程的能见度
D.提高开发效率
70.某个软件,不符合公司的战略决策,属于(A)风险。
A.商业风险 B.项目风险 C.开发风险 D.人员风险
71.72.下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,则一共有(C)条关键路径,关键路径长度为(B)。
A.2 B.4 C.3 D.1
A.48 B.55 C30 D.46