2019年上半年软件设计师上午真题错题集

6.以下关于RISC (精简指令系统计算机)技术的叙述中,错误的是(   )。

A.指令长度固定、指令种类尽量少

B.指令功能强大、寻址方式复杂多样

C.增加寄存器数目以减少访存次数

D.用硬布线电路实现指令解码,快速完成指令译码

我的答案:A

正确答案:B

解析:

RISC(精简指令系统计算机)的设计原则之一是指令集应该保持简洁,以固定长度的指令和尽量少的指令种类为目标。这可以提高处理器的执行效率和性能。因此,选项 A 中指令长度固定、指令种类尽量少的叙述是正确的。

RISC 还鼓励增加寄存器的数量,以减少对内存的访问,从而提高执行速度和效率。这样可以减少内存访问的开销,并使指令执行更快。因此,选项 C 中增加寄存器数目以减少访存次数的叙述也是正确的。

然而,选项 B 中指令功能强大、寻址方式复杂多样的叙述是错误的。RISC 的设计原则之一是指令应该具有简单的功能,并且寻址方式应该保持简洁。这样可以简化指令的实现和执行过程,提高处理器的效率和可靠性。

最后,选项 D 中用硬布线电路实现指令解码,快速完成指令译码的叙述是正确的。RISC 处理器通常使用硬布线的方式来实现指令解码,这可以提高指令解码的速度,加快指令的执行。

8.下述协议中与安全电子邮箱服务无关的是(   )。

A.SSL     B.HTTPS     C.MIME      D.PGP

我的答案:D

正确答案:C

解析:

MIME (Multipurpose Internet MailExtensions) 多用途互联网邮件扩展类型,是描述消息内容类型的因特网标准。MIME 消息能包含文本、图像、音频、视频以及其他应用程序专用的数据。

11.震网(Stuxnet)病du是一种破坏工业基础设施的恶意代码,利用系统漏洞攻击工业控制系统,是一种危害性极大的(   )。

A.引导区病毒   B.宏病毒        C.木马病毒       D.蠕虫病毒

我的答案:C

正确答案:D

解析:

A. 引导区病毒:引导区病毒是一种感染计算机系统引导区的恶意代码。引导区是硬盘或其他存储设备的第一个扇区,用于引导操作系统启动。引导区病毒会覆盖或修改引导区的内容,使系统在启动时执行恶意代码。它们可以破坏引导记录、篡改主引导记录(MBR)或引导扇区,导致系统无法启动或被控制。

B. 宏病毒:宏病毒是一种隐藏在宏代码内的恶意软件。它通常存在于包含宏功能的应用程序中,如办公软件中的宏功能。宏病毒可以在用户打开感染的文件时自动执行,并利用宏的功能进行恶意操作,如破坏文件、传播自身或执行其他恶意行为。

C. 木马病毒:木马病毒得名于古希腊传说中的木马,它伪装成正常的程序或文件,但在用户运行时会执行隐藏的恶意功能。与其他恶意软件不同,木马病毒通常需要用户的主动参与来运行。一旦木马病毒成功运行,攻击者就可以获取受感染计算机上的敏感信息、远程控制计算机或进行其他恶意活动。

D. 蠕虫病毒:蠕虫病毒是一种自我复制的恶意软件,可以在计算机网络中传播并感染其他脆弱的系统。蠕虫病毒不需要依赖宿主文件,而是利用网络漏洞和弱点自动传播。一旦感染,蠕虫病毒会利用系统资源,通过网络扫描和复制自身,导致网络拥堵、系统崩溃或其他不良后果。

13.14.甲公司购买了一工具软件,并使用该工具软件开发了新的名为“恒友”的软件。 甲公司在销售新软件的同时,向客户提供工具软件的复制品,则该行为(   )。甲公司 未对“恒友”软件注册商标就开始推向市场,并获得用户的好评。三个月后,乙公司也推出名为“恒友”的类似软件,并对之进行了商标注册,则其行为(   )。

A.侵犯了著作权    B.不构成侵权行为      C.侵犯了专利权     D.属于不正当竞争

A.侵犯了著作权    B.不构成侵权行为      C.侵犯了商标权     D.属于不正当竞争

13、

我的答案:C

正确答案:A

解析:

著作权是对原创作品的独占权利,包括软件在内。甲公司未经工具软件的原始版权所有者授权,复制工具软件并集成到新软件中进行销售,违反了著作权法的原则,侵犯了工具软件的著作权。


15.数据流图建模应遵循(   )的原则。

A.自顶向下、从具体到抽象      B.自顶向下、从抽象到具体

C.自底向上、从具体到抽象      D.自底向上、从抽象到具体

我的答案:C

正确答案:B

解析:

数据流图的基本原则:从基本系统模型出发,自顶向下、从抽象到具体分层次地画


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

A.模块       B.调用       C.数据      D.控制

我的答案:C

正确答案:D

解析:


18.某项目的活动持续时间及其依赖关系如下表所示,则完成该项目的最少时间为 (   )天

A.43 B.45  C.50  D.55

我的答案:C

正确答案:D

解析:


26.若某文件系统的目录结构如下图所示,假设用户要访问文件book2.doc,且当前工作目录为MyDrivers,则该文件的绝对路径和相对路径分别为(   )。

A.MyDrivers\user2\和\user2\               B.\MyDrivers\user2\和\user2\

C.\MyDrivers\user2\和user2\              D.MyDrivers\user2\和user2\

我的答案:A

正确答案:C

解析:

绝对路径从根目录\开始,本题book2.doc的绝对路径为\MyDrivers\user2\;相对路径从当前目录下一级开始,本题book2.doc的相对路径为user2\

30.以下关于极限编程(XP)的最佳实践的叙述中,不正确的是(   )。

A.只处理当前的需求,使设计保持简单

B.编写完程序之后编写测试代码

C.可以按日甚至按小时为客户提供可运行的版本

D.系统最终用户代表应该全程配合XP团队

解析:

极限编程强调以下几个核心概念和实践:

  1. 快速反馈:极限编程鼓励频繁地进行反馈和沟通,以便及时纠正问题。例如,开发人员编写测试代码来检验他们的代码,并在持续集成中自动运行这些测试。客户和开发人员之间也密切合作,以确保需求理解和反馈的及时交流。

  2. 迭代开发:开发工作通过多次迭代完成,每个迭代都有确定的目标和交付物。每个迭代的时间通常较短,通常为一到两周。这种迭代的方式使得开发团队能够快速交付可用的软件版本,并能根据用户反馈和需求变化进行调整。

  3. 测试驱动开发:极限编程强调先编写测试代码,再编写实际的程序代码。开发人员通过编写测试代码来定义软件的期望行为,然后通过编写实现代码使测试通过。这种方式确保了代码的可测试性、可维护性和稳定性。

  4. 简单性:极限编程鼓励保持代码和设计的简单性。只处理当前的需求,避免过度设计和复杂性,以便更快地迭代和交付软件。

  5. 团队协作:整个开发团队紧密协作,包括开发人员、测试人员和客户代表。他们经常进行面对面的沟通和讨论,以便更好地理解需求,解决问题并做出及时调整。

极限编程的目标是在高度变化的环境中更好地应对需求变化,提高软件交付的质量和效率。通过采用迭代的方式、持续反馈和紧密协作,极限编程能够帮助团队更好地适应变化并交付更有价值的软件

31.在ISO/IEC9126软件质量模型中,软件质量特性(   )包含质量子特性安全性。

A.功能性      B.可靠性     C.效率       D.可维护性

我的答案:B

正确答案:A

解析:

ISO/IEC 9126软件质量模型,该模型的质量特性和质量子特性如下:
功能性(适合性、准确性、互用性、依从性、安全性);
可靠性(成熟性、容错性、易恢复性);
易使用性(易理解性、易学性、易操作性);
效率(时间特性、资源特性);
可维护性(易分析性、易改变性、稳定性、易测试性);
可移植性(适应性、易安装性、一致性、易替换性)。
安全性是功能特性的子特性。

32.已知模块A给模块B传递数据结构X,则这两个模块的耦合类型为(   )。

A.数据耦合    B.公共耦合   C.外部耦合   D.标记耦合

我的答案:A

正确答案:D

解析:

33.Theo Mandel在其关于界面设计所提出的三条“黄金准则”中,不包括(   )。

A.用户操纵控制   B.界面美观整洁    C.减轻用户的记忆负担      D.保持界面一致

我的答案:D

正确答案:B

解析:

人机交互“黄金三原则”包括:用户操纵控制、减少用户的记忆负担、保持界面的一致性。

用户操纵控制:以不强迫用户进入不必要或不希望的动作的方式来定义交互模式;提供灵活的交互;允许中断和撤销用户交互;当技能级别增长时可以使交互流线化并允许定制交互;使用户与内部技术细节隔离开来;设计应运行用户与出现在屏幕上的对象直接交互。

减轻用户的记忆负担:减少对短期记忆的要求;建立有意义的默认;定义直观的快捷方式;界面的视觉布局应该基于真实世界的象征;以不断进展的方式揭示信息。

保持界面一致:允许用户将当前任务放入有意义的环境中;在应用系统家族中保持一致;如果过去的交互模型已经建立起了用户期望,除非有不得已的理由,否则不要改变它。

42.43.下图所示UML图为(   ),用于展示系统中(   )。

A.用例图     B.活动图     C.序列图      D.交互图

A.—个用例和一个对象的行为      B.一个用例和多个对象的行为

C.多个用例和一个对象的行为      D.多个用例和多个对象的行为

43、

我的答案:D

正确答案:B

解析:

序列图展示了1个用例和多个对象的行为

56.当某一场地故障时,系统可以使用其他场地上的副本而不至于使整个系统瘫痪。这称为分布式数据库的(   )。

A.共享性      B.自治性      C.可用性      D.分布性

我的答案:D

正确答案:C

解析:

A. 共享性(Sharedness):共享性是指多个用户或应用程序可以同时访问和共享分布式数据库中的数据。这允许多个用户同时读取和写入数据,使得数据能够在分布式环境中得以共享和协同使用。

B. 自治性(Autonomy):自治性是指每个分布式数据库节点都具有独立控制权和决策权。每个节点可以自主处理自己的数据存储、查询和维护,而无需集中的控制中心或协调者。这种自治性带来了分布式数据库系统的弹性和可扩展性。

C. 可用性(Availability):可用性是指分布式数据库系统能够持续提供数据访问和服务,即使其中一个节点或多个节点发生故障。通过数据备份和复制机制,分布式数据库可以确保即使发生节点故障,系统仍然可以继续工作并提供服务。

D. 分布性(Distribution):分布性是指分布式数据库将数据分散存储在多个节点上,通常是不同的地理位置或服务器上。这种分散存储有助于提高系统的可靠性和性能,同时分布式数据库还可以通过数据分片和分区来实现对大量数据的处理和扩展。

58.具有3个结点的二叉树有5种,可推测出具有4个结点的二叉树有(   )种。

A.10          B.11          C.14         D.15

我的答案:D

正确答案:C

解析:

题干给出具有3个结点的二叉树有5种,多增加一个根节点之后,可以有左右不同的3结点二叉树,所以左右分别有单个3结点子树的二叉树有2*5=10种;除此之外,3个结点可以构造成2结点子树和单节点子树,所有不同共有4种。

62~65.已知矩阵Am*n和Bn*p相乘的时间复杂度为O(mnp)。.已知矩阵Am*n和Bn*p相乘的时间复杂度为O(mnp)。矩阵相乘满足矩阵A、B、C相乘的顺序可以是(A*B)*C也可以是A*(B*C)。不同的相乘顺序所需进行的乘法次数可能有很大的差别。因此确定n个矩阵相乘的最优计算顺序是一个非常重要的问题。已知确定n个矩阵A1, A2......An相乘的计算顺序具有最优子结构,即A1A2......An的最优计算顺序包含其子问题A1A2......Ak和Ak+1Ak+2……An(1<=k<n)的最优计算顺序。

可以列出其递归式为:

其中,Ai的维度为pi-1*pi m[i,j]表示AiAi+1……Aj最优计算顺序的相乘次数。先采用自底向上的方法求n个矩阵相乘的最优计算顺序。则求解该问题的算法设计策略为(   )。算法的时间复杂度为(   ),空间复杂度为(   )。

给定一个实例,(P0Pi……P5)=(20, 15, 4, 10,20, 25 ),最优计算顺序为(   )。

A.分治法     B.动态规划法     C.贪心法     D.回溯法

A.O(n²)       B.O(n²lgn)        C.O(n³)       D.O(2n)

A.O(n²)       B.O(n²lgn)        C.O(n³)       D.O(2n)

A.(((A1*A2)*A3)*A4)*A5         B.A1*(A2*(A3*(A4*A5)))

C.((A1*A2)*A3)* (A4*A5)         D.(A1*A2) *( (A3*A4)*A5)
62、

我的答案:C

正确答案:B

解析:

动态规划:适用于具有最优子结构性质的问题,即原问题的最优解可以由子问题的最优解推导而来的问题。常见的动态规划问题包括最短路径问题、背包问题、序列比对等。

贪心法:适用于贪心选择性质问题,即通过每一步的局部最优选择来构建结果的全局最优解的问题。贪心法通常适用于一些可以通过贪心选择达到最优解的问题,例如最小生成树问题、任务调度问题等。

63、

我的答案:B

正确答案:C

解析:

题干给出“已知矩阵Am*n和Bn*p相乘的时间复杂度为O(mnp)”,即矩阵乘法的实现过程,可以简单理解为3层嵌套循环,所以时间复杂度为O(n^3)。

C#实现:

public static int MatrixChainOrder(int[] p)
    {
        int n = p.Length - 1;
        int[,] dp = new int[n, n];
        int[,] split = new int[n, n];

        for (int len = 2; len <= n; len++)
        {
            for (int i = 0; i < n - len + 1; i++)
            {
                int j = i + len - 1;
                dp[i, j] = int.MaxValue;

                for (int k = i; k < j; k++)
                {
                    int cost = dp[i, k] + dp[k + 1, j] + p[i] * p[k + 1] * p[j + 1];
                    if (cost < dp[i, j])
                    {
                        dp[i, j] = cost;
                        split[i, j] = k;
                    }
                }
            }
        }

        return dp[0, n - 1];
    }

64、

我的答案:C

正确答案:A

解析:

本题在计算过程中,需要临时存储空间存放中间结果m[][],二维数组占据空间为n

n,即空间复杂度为O(n^2)。

67.下面是HTTP的一次请求过程,正确的顺序是(   )。

①浏览器向DNS服务器发出域名解析请求并获得结果

②在浏览器中输入URL,并按下回车键

③服务器将网页数据发送给浏览器

④根据目的IP地址和端口号,与服务器建立TCP连接

⑤浏览器向服务器发送数据请求

⑥浏览器解析收到的数据并显示

⑦通信完成,断开TCP连接

A.②①④⑤③⑦⑥   B.②①⑤④③⑦⑥    C.②①④⑤③⑥⑦   D.②①④③⑤⑦⑥
我的答案:C

正确答案:A

68.TCP和UDP协议均提供了 (   )能力,

A.连接管理    B.差错校验和重传     C.流量控制     D.端口寻址

我的答案:A

正确答案:D

71~75.A project is a [temporary] (   ) of unique, complex, and connectedactivities having one goal or purpose and that must be completed by a specific time, within budget, and according to (   ).

Project management is the process ofscoping, planning, staffing ,organizing, directing, and controlling the development of a(n)(   ) system at a minimum cost within a specified time frame.

For any systems development project,effective project management is necessary to ensure that the project meets the (   )         , is developed within an acceptable budget, and fulfills customer expectations and specifications. Project management is a process that starts at the beginning of a project, extends through a project, and doesn’t culminate until the project is completed.

The prerequisite for good projectmanagement is a well-defined system development process. Process management is an ongoing activity that documents, manages the use of, and improves an organization’s chosen methodology (the “process”)for system development. Process management is concerned with the activities, deliverables, and quality standards to be applied to (   ) project(s).

71. A.task          B.work             C.sequence                  D.activity

72. A.specifications  B.rules              C.estimates                 D.designs

73. A.perfect              B.acceptable   C.controlled               D.completed

74. A.deadline       B.specification  C.expectation           D.requirement

75. A.a single              B.a particular       C.some                       D.all
 

正确答案:CABAD

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2023上半年软件设计师考试真题尚未发布,因此无法提供具体的真题内容。然而,对于软件设计师考试的准备,有一些常见的考点和技巧可以参考。 考试内容可能包括软件开发流程、系统设计原则、软件需求分析和设计、软件架构和模式、数据库设计与管理、软件测试和质量保证等方面的知识。 考生可通过以下方式准备考试: 1.学习教材和参考书籍:阅读与软件设计相关的教材和参考书籍,理解基本概念、原则和方法。 2.参加培训课程:选择专业机构或在线平台的培训课程,学习和实践软件设计的相关技能和工具。 3.解答往试题:找到往软件设计师考试试题,进行自测和模拟考试,了解自己的知识掌握程度和应试能力。 4.参考开放资源:搜索互联网上公开的软件设计师考试资料和学习资源,如博客、论坛、知识库等,获取更多实践经验和解题技巧。 5.实践项目经验:参与实际的软件设计项目,锻炼自己的设计能力和解决问题的能力。 在考试前,建议考生进行系统复习,温习重点知识,并进行自测和模拟考试,以熟悉考试形式和增强应试能力。此外,注意时间管理,合理安排答题时间,避免在一道题上花费过多时间而导致其他题目无法完成。 考试过程,要认真审题,理清题意,有条理地组织答案。在解答问题时,可以使用逻辑分析、图表绘制、举例说明等方法,表达清晰、简洁。 总之,在备考软件设计师考试时,重点是理解和掌握软件设计的基本概念、原则和方法,结合实际经验和项目实践,灵活运用知识解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值