软考错题知识点汇总

1、解释器与编译器的区别:
解释器:词法分析-语法分析-语义分析-执行(速度慢)
编译器:词法分析-语法分析-语义分析-中间代码生成(速度快)
(不会有代码优化和目标代码生成)
2、逆波兰式,也称后缀表达式,需要用到栈。
3、ISO/IEC中,易使用性的子特性:易理解、易学习、易操作、吸引性、依从性;
4、虚拟存储体系由主存+辅存两级存储器构成。
5、著作权权利中,发表权的保护期受时间限制。
6、静态语义错误:编译程序可以发现;
   动态语义错误:源程序虽然能够被编译执行,但是结果不对。
7、数据库通常采用三级模式结构:外模式、模式和内模式,分别对应数据库的视图、基本表和存储文件。
8、分布式数据库中的一些概念:
分片透明:指用户不必知道关系数据如何分片的,它们对数据的操作在全局关系上进行,即关系如何分片对用户是透明的,因此,当分片改变时应用程序可以不变。分片透明性是最高层次的透明性;
位置透明:指用户不必知道所操作的数据放在何处,即数据分配到哪个或哪些站点存储对用户是透明的,因此数据分片模式的改变,把数据从一个站点转移到另一个站点将不会影响应用程序,因而应用程序不必改写;
逻辑透明:最低层次的透明性,该透明性提供数据到局部数据的映像,即用户不必关心局部DBMS支持哪种数据模型、使用哪种有数据操纵语言,数据模型和操纵语言的转换由系统完成的。
9、POP3采用的是Client/Server模式。
10、CISC是复杂指令系统计算机;
11、VLIW是超长指令字;
12、脚本语言主要采用解释方式实现而非编译;
13、常用的中间代码有:后缀式(逆波兰式)、三地址码、语法树等;
14、软件体系结构中,仓库风格包含:数据库系统、超文本系统、黑板系统;
15、三明治测试:是一综合化结合自上而下和由下往上的测试的测试过程。
16、移进归约分析法是一种自底向上的语法分析法;
17、满足BCNF:即不存在关键字段决定关键字段的情况。
18、FTP服务控制端口为21(主动模式),上传文件时端口大于1024(被动模式);
19、ping根据由近及远的原则:
ping 127.0.0.1 先检查TCP/IP协议栈是否正常;
ping 本地ip 检查网卡是否工作正常;
ping 网关地址 检查和网关的连接性;
ping 远程网站 检查远程连接;
20、程序计数器:用于存放下一条指令所在单元的地址的地方。
    累加寄存器:当运算器的算术逻辑单元(ALU)执行算术或逻辑运算时,为ALU提供一个工作区。累加寄存器暂时存放ALU运算的结果信息。
状态寄存器:又叫条件码寄存器,它是计算机系统的核心部件——运算器的一部分,状态寄存器用来存放两类信息:一类是体现当前指令执行结果的各种状态信息(条件码),如有无进位(CF位)、有无溢出(OV位)、结果正负(SF位)、结果是否为零(ZF位)、奇偶标志位(P位)等;另一类是存放控制信息(PSW:程序状态字寄存器),如允许中断(IF位)、跟踪标志(TF位)等。
地址寄存器:用来保存当前CPU所访问的内存单元的地址。
21、海明校验码:假设为n个数据位设置k个校验位,则校验位能表示2^k个状态,可用其中的一个状态指出 "没有发生错误",用其余的2 ^k -1个状态指出有错误发生在某一位,包括n个数据位和k个校验位,因此校验位的位数应满足如下关系:2^k-1 ≥ n + k;
22、二叉查找树查找最差的情况:单支树;
23、在UML中,通信图不是交互图;
24、生成器模式:又叫建造者模式,将一个复杂的对象,分成多分,使同样的构建过程,能有不同的表示,这样的设计模式被称为建造者模式。
25、结构事物:类、接口、协作、活动类、组件、节点;
行为事物:是UML模型中动态部分,代表时间和空间的操作。带箭头的直线、传递的消息、状态图;
组织事物:组织事物被称为分组事物,组织事务通常把具有相同属性的事务组合在一起,组织里面的内容比较复杂,但是组织和组织之间的结构简单。在UML中组织事务只有包。
辅助事物:辅助事物也被称为注释事物,在UML中只有注释。
26、中介者就是一个处于众多对象,并恰当地处理众多对象之间相互之间的联系的角色。中介者模式和观察者模式是互相竞争的模式。
27、软件维护其性能水平有关的能力。包括的子特性有成熟性、容错性和易恢复性。
28、CMM:是指“能力成熟度模型”。它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护过程进行监控和研究。
CMM是一种用于评价软件承包能力以改善软件质量的方法,侧重于软件开发过程的管理及工程能力的提高与评估。分为五个等级:一级为初始级,二级为可重复级,三级为已定义级,四级为已管理级,五级为优化级。
29、中间代码是源程序的一种内部表示,或称中间语言。中间代码的表达形式有语法树,后缀式,三地址代码。
30、各个模型之间的对比:
瀑布模型:简单,分阶段,用户参与且预先确定需求,适用于需求易于完善定义且不易变更的软件系统;
快速原型:不要求需求预先完备定义,支持用户参与,支持需求的渐进式完善和确认,能够适应用户需求的变化,适用于需求复杂、难以确定的软件系统;
增量模型:软件产品被增量式一块块开发,允许开发活动进行并行和重叠;适用于需求比较稳定的系统;
迭代模型:不要求一次性地开发出完整的软件系统,将软件开发视为一个逐步获取用广需求、完善软件产品的过程;适用于需求难以确定、不断变更的系统;
螺旋模型:风险评估;适用于软件开发风险较大的软件系统;
喷泉模型:以需求为动力;可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。
31、概要设计:把软件按照一定的原则分解为模块层次,赋予每个模块一定的任务,并确定模块间调用关系和接口。
详细设计:各个模块可以分给不同的人去并行设计。设计者的工作对象是一个模块,根据概要设计赋予的局部任务和对外接口,设计并表达出模块的算法、流程、状态转换;
32、策略模式:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。
抽象工厂:象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。
观察者模式:观察者模式(有时又被称为发布(publish )-订阅(Subscribe)模式、模型-视图(View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。
中介者模式:定义一个中介对象来封装系列对象之间的交互。中介者使各个对象不需要显示地相互引用,从而使其耦合性松散,而且可以独立地改变他们之间的交互。
状态模式: 当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同的一系列类当中,可以把复杂的逻辑判断简单化。
33、动态规划与分治法最大的差别是:适合于用动态规划法求解的问题,经分解后得到的子问题往往不是互相独立的(即下一个子阶段的求解是建立在上一个子阶段的解的基础上,进行进一步的求解)。
分治策略:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。
贪心算法:在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。
回溯法:一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。
分支界限法:类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法。但在一般情况下,分支限界法与回溯法的求解目标不同。回溯法的求解目标是找出T中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出使某一目标函数值达到极大或极小的解,即在某种意义下的最优解。
34、参数多态:采用参数化模板,通过给出不同的类型参数,使得一个结构有多种类型。
包含多态:同样的操作可用于一个类型及其子类型。(注意是子类型,不是子类。)包含多态一般需要进行运行时的类型检查。
过载多态:同一个名(操作符﹑函数名)在不同的上下文中有不同的类型。程序设计语言中基本类型的大多数操作符都是过载多态的。通俗的讲法,就是c++中的函数重载。
强制多态:编译程序通过语义操作,把操作对象的类型强行加以变换,以符合函数或操作符的要求。程序设计语言中基本类型的大多数操作符,在发生不同类型的数据进行混合运算时,编译程序一般都会进行强制多态。
35、DMZ:demilitarized zone,即隔离区,它是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区,在这个小网络区域内可以放置一些必须公开的服务器设施,如企业Web服务器、FTP服务器和论坛等;
36、SISD机器是一种传统的串行计算机,它的硬件不支持任何形式的并行计算,所有的指令都是串行执行。
SIMD是采用一个指令流处理多个数据流。这类机器在数字信号处理、图像处理、以及多媒体信息处理等领域非常有效。
MISD是采用多个指令流来处理单个数据流。由于实际情况中,采用多指令流处理多数据流才是更有效的方法,因此MISD只是作为理论模型出现,没有投入到实际应用之中。
MIMD机器可以同时执行多个指令流,这些指令流分别对不同数据流进行操作。最新的多核计算平台就属于MIMD的范畴;
37、在windows系统中,系统会自动通过文件名建立文件关联来决定使用什么程序打开该图像文件;
38、当用户通过键盘或鼠标进入某应用系统时,通常最先获得键盘或鼠标输入信息的是中断处理程序;
39、CPU响应中断请求和响应DMA请求的本质区别是:响应中断时CPU仍然控制总线,而响应DMA请求时,CPU要让出总线;
CPU响应程序中断方式请求是在一条指令执行结束时。
40、 通过DNS服务器实现网络负载均衡则是一种保证用户网络访问的方式。其方法有启用循环,添加每个Web服务器的主机记录。
41、并列争球法使用了迭代的方法;
42、内聚的几种形式:
偶然内聚:如果一个模块的各成分之间毫无关系,则称为偶然内聚,也就是说模块完成一组任务,这些任务之间的关系松散,实际上没有什么联系。
逻辑内聚:几个逻辑上相关的功能被放在同一模块中,则称为逻辑内聚。如一个模块读取各种不同类型外设的输入。
时间内聚:如果一个模块完成的功能必须在同一时间内执行(如系统初始化),但这些功能只是因为时间因素关联在一起,则称为时间内聚。
通信内聚:如果一个模块的所有成分都操作同一数据集或生成同一数据集,则称为通信内聚。
顺序内聚:如果一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个成分的输入,则称为顺序内聚。
过程内聚:构件或者操作的组合方式是,允许在调用前面的构件或操作之后,马上调用后面的构件或操作,即使两者之间没有数据进行传递。
信息内聚:模块完成多个功能,各个功能都在同一数据结构上操作,每一项功能有一个唯一的入口点。这个模块将根据不同的要求,确定该模块执行哪一个功能。由于这个模块的所有功能都是基于同一个数据结构(符号表),因此,它是一个信息内聚的模块。
功能内聚:模块的所有成分对于完成单一的功能都是必须的,则称为功能内聚。
43、在面向对象方法中,支持多态的是动态绑定;
44、UML状态图中转换,需要事件标记和警界条件满足时才会进入目标状态;
45、二叉树高度:log(n+1);

你可能感兴趣的:(软考错题知识点汇总)