导航菜单
首页 >  架构设计23年下午真题  > 2023软件设计师上半年真题解析(上午+下午)

2023软件设计师上半年真题解析(上午+下午)

上午试题  1.系统总线

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

总线可以划分为数据总线、地址总线和控制总线。系统总线是计算机系统中的通信架构,它负责连接和协调计算机系统中的各个组件和外部设备,实现数据传输和控制信号传递,从而实现计算机系统的正常运行。

2.三级存储体系

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

直接和cpu打交道的是主存。

3.海明码 

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

海明码(Hamming code)是一种纠错编码技术,用于检测和纠正数据传输中的错误。海明码通过在数据中插入冗余位(校验位)来检测和纠正单一位错误。

公式:2^r=m+r+1

r:校验位的个数

m:信息位的个数

4.中断向量 

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

中断向量提供的是中断服务程序的入口地址或中断处理程序的地址。当发生中断时,计算机硬件会通过中断向量找到对应的中断服务程序,并开始执行相应的中断处理过程。

5.补码 

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

[+0]补=[+0]反=[+0]原=00000000

[-0]补=11111111+1=00000000

6.指令流水线 

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

2+2+1+2*(1000-1)=2003 

7.OSI参考模型 

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

物理层(Physical Layer): 物理层是OSI模型的最底层,负责在物理媒介上传输原始比特流。它定义了传输介质、电压水平、传输速率等物理参数,并规定了传输介质的连接方式和信号传输的基本规范。

数据链路层(Data Link Layer): 数据链路层负责将原始的比特流转换为数据帧,并在相邻节点之间进行可靠的数据传输。它提供了错误检测和纠正、帧同步、流量控制和访问控制等功能,以确保数据的可靠传输。

网络层(Network Layer): 网络层负责将数据包从源节点传输到目标节点,通过网络进行路由选择和转发。它定义了数据包的寻址和路由选择机制,并提供了网络互连的功能。常见的网络层协议包括IP(Internet Protocol)。

传输层(Transport Layer): 传输层提供了端到端的可靠数据传输服务,负责将数据可靠地从源端传输到目标端。它处理数据分段、流量控制、拥塞控制和错误恢复等任务。常见的传输层协议包括TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)。

会话层(Session Layer): 会话层负责建立、管理和终止会话(Session)连接,以便在通信双方之间建立和维护通信会话。它提供了会话的控制和同步功能,支持多个应用程序之间的通信。

表示层(Presentation Layer): 表示层处理数据的表示和格式转换,以确保不同系统之间的数据可以正确解释和理解。它负责数据的加密、压缩、格式转换、数据描述等功能,以便在不同的系统中进行交互。

应用层(Application Layer): 应用层是OSI模型的最高层,提供了各种应用程序与网络之间的接口。它包括了各种网络应用,如电子邮件、文件传输、远程登录等。应用层协议定义了应用程序之间的通信规则和数据交换格式。

8.9.服务器 

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

10.入侵防御系统 

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

能检测,但是不能阻断。

11.防火墙

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

尽管Web防火墙可以提供一定程度的保护,但它可能无法有效防御以下类型的攻击:

零日漏洞攻击(Zero-day Attacks):零日漏洞是指安全漏洞被公开之前,攻击者利用该漏洞进行攻击。由于Web防火墙的规则是基于已知的攻击模式和签名进行匹配,因此无法防御尚未被发现或未知的漏洞攻击。

高级持久性威胁(Advanced Persistent Threats,APT):APT是一种长期存在且具有高度专业性的攻击,通常针对特定目标。APT攻击通常使用高级技术和定制的恶意软件,以规避常规的防护措施,包括Web防火墙。

社会工程攻击(Social Engineering Attacks):社会工程攻击利用人的心理和社交工具来欺骗用户,例如钓鱼攻击、欺诈电话等。这些攻击通常不涉及直接的网络层面,而是利用人们的行为和信任,因此Web防火墙无法完全阻止这类攻击。

应用层漏洞:Web防火墙主要关注网络层和应用层协议的安全,但如果Web应用程序本身存在漏洞,例如跨站脚本攻击(XSS)或SQL注入攻击,防火墙可能无法有效阻止这些攻击。应用层漏洞需要通过正确的编码实践和应用程序安全测试来解决。

内部威胁:Web防火墙主要用于保护外部攻击,而对于内部威胁,如恶意内部员工或受感染的终端设备,防火墙的效果有限。内部威胁需要通过其他安全措施,如访问控制、权限管理和内部监控来进行管理和防御。

12.著作权保护期 

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

13. 软件知识产权

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

14.软件著作权 

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

15 .数据流图

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

 16.软件设计原则

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

17.18 .关键路径

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

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

最早开始时间:       

最早结束时间:       

从A到K

从K到A

 关键路径

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

8\times 7\div2=28 

20.布尔表达式

20、对布尔表达式"a or ((cb adjvex (2) p = p -> nextarc (3) DFS(G, 0) ? count = 0 ? (4) count++ (或等价形式) (5) return count 问题二(5 分)

试题五

在某系统中,类interval代表由下界(lower bound)和上界(upper bound)定义的区间。要求采用不同的格式显示区间范围。如[lower bound.upper bound]:[lower bound...upper bound];[lower bound-upper bound]等现采用策略(strategy)模式实现该要求,得到如图5-1所示的类图。

import Java.util.enumTYPE{COMMA, Dots, LINE}interface PrintStrategy{public (1);(1):void doPrint(interval val)}class Intervals{//两个类成员变量=上下边界值public void Intervals(double lower, double upper){//初始化上下边界值}public double getLower {return lower...}public double getUpper {return upper...}public void printInterval (PrintStrategy pr){(2);}}class PrintIntervalsComma implements PrintStrategy{public void doPrint (interval Val){system.out.printin("["+val.getLower()+","+val.getUpper()+"]"}}class PrintIntervalsDots implements PrintStrategy{public void do print (interval val){system.out.printin("["+val(.getLower()+"..."+val.getUpper()+"]";}}class PrintIntervalsLine implements PrintStrategy{public void do print (interval val){system.out.print("["+val.getLower()+"-"+val.getUpper()+"]";}}public static PrintStrategy getStrategy (TYPE type){PrintStrategy st=null;switch (type){case COMMA:(3);break;case DOTS:(4);break;case LINE:(5);break;}return st}public static void main(String[] args){Intervals a = new Intervals(1.7, 2.1);a.printInterval (getStrategy(TYPE.COMMA));a.printInterval (getStrategy(TYPE.Dots));a.printInterval (getStrategy(TYPE.LINE));}

 

试题六 

在某系统中,类interval代表由下界(lower bound)和上界(upper bound)定义的区间。要求采用不同的格式显示区间范围。如[lower bound.upper bound]:[lower bound...upper bound];[lower bound-upper bound]等现采用策略(strategy)模式实现该要求,得到如图5-1所示的类图。

#includeusing namespace stdclass Print strategy{Public:(1);}class Interval{Private:double lower Bound;double upper Bound;Public:Interval(double P lower,double P_upper){lower Bound=P lower;upper Bound=P_upper;}void Print Interval(Print strategy"prt){(2);}double get lower (){return lower Bound}double get upper{return upper Bound}}class Print Intervals Comma:Public Prints Strategy{public:void do Print(Interval *val){cout《"["《val→get Lower()《“···”《val(→getupper()《]”《endl;}};class Print Intervals Dots:Public Print Strategy{Public:void do Print (Interval*val){cout《"["《val→get Lower]《“…”《val→get upper()《“]”《endl:}};class Print Intervals Line:Public Print Strategy{Public:Void do Print (Interval*val){cout《"["《val→get Lower()《“…”《val-get upper()《“]”《《endl;}enum TYPE{ COMMA.DOTs.LINE}Print strategy* get strategy (int type){Print strategy*st;switch (type){case COMMA:(3);break;case Dots:(4);break:case LINE(5);break;}return st;}int main(){Interval a(1.7,2.1);a.Print Interval(get strategy(COMMA);a.Print Interval(get strategy(DoTs);a.Print Interval(get strategy(LINE);}}return 0;

相关推荐: