软考笔记

 

1.计算机系统知识

1.1 原反补移

正数:原反补一样

负数:原码:对应正数的符号位改为1

反码:原码除符号位外,全部取反

补码:反码+1

总结:取反+1

移码:补码的符号位取反

1.2 浮点数

用移码表示阶码,原码表示尾数

相加或相减运算时,将小阶向大阶对齐,同时 将尾数右移n位

1.3 流水线

100条指令,每条指令:取指2ns,分析2ns,执行1ns

吞吐率 = 100/203 指令数/流水线时间

最大吞吐率 = 1/2 1/指令周期

加速比 = 500/203 不用流水线的时间/用流水线的时间

效率 = 实际使用的时间/所有时间 24/60

1.4 源操作数和结果暂存在累加器

1.5 当采用DMA方式时,不需要CPU 执行程序指令来传送数据。

1.6 海明码

数据位 n,校验位 k

2^k -1 >=n+k

1.7 Cache位于主存与CPU之间,不会扩大了主存的容量

1.8 高速缓存与主存之间的地址映射有硬件自动完成

1.9 计算机中提供指令地址的程序计算器在PC的控制器中

1.10 CPU主要有运算器,控制器,寄存器组和内部总线等组成

1.10.1 运算器包括算术逻辑单元,累加寄存器,数据缓存寄存器,状态条件寄存器

1.10.1.1 算术逻辑单元:负责处理数据(算术运算和逻辑运算)

1.10.1.2 累加寄存器:累加器,通用寄存器(运算的工作区)

1.10.1.3 数据缓存寄存器:暂存从内存读取的指令或数据(数据的中转站)

1.10.1.4 状态条件寄存器:状态标志和控制标志

1.10.2 控制器包括指令寄存器,程序计数器,地址寄存器和指令译码器

1.10.2.1指令寄存器:指令:内存->缓冲寄存器->指令寄存器->指令译码器

1.10.2.2程序计数器:又叫指令计数器,存储下一条要执行指令的地址

1.10.2.3地址寄存器:当前CPU所访问的内存单元的地址,程序员可修改

1.10.2.4指令译码器:指令分为操作码和地址

1.11 中断向量提供中断服务程序入口地址

2.程序设计语言基础知识

2.1 语法,判断程序语句。语义,判断上下文,语境。

2.2对于编译型语言,处理过程为预处理-编译-链接

2.3语法制导翻译是一种静态语义分析

3.数据结构与数据运算

3.1 系统用栈实现嵌套调用函数的正确返回.

4.操作系统知识

5.软件工程基础知识

5.1 螺旋模型是一个风险驱动的过程模型,因此要求开放人员必须具有丰富的风险评估知识和经验,螺旋模型是一个迭代的模型,螺旋模型适用于大规模的软件项目开发。

5.2 敏捷开发方法是一个强调灵活性和快速开发的一种开发方法,极限编程是敏捷方法中最普遍的—种方法。集体所有权表示任何开发人员可以对系统任何部分进行改变,结对编程实际上存在一个非正式的代码审查过程,可以获得更高的代码质量。结对编程的编码速度与传统的单人编程相当。

5.3将具有相似功能的模块合并,不能改进设计质量。

5.4白盒测试的几种覆盖方法

5.4.1语句覆盖:每一个语句至少被执行一次

5.4.2判定覆盖(分支覆盖):程序中的每一个分支都至少执行一次

5.4.3条件覆盖:每个条件至少有一次真值、有一次假值

5.4.4路径覆盖:覆盖程序中所有可能的执行路径

5.5采用McCabe度量法计算其环路复杂度:环+1

5.6 结构化分析的输出包括数据流图,数据字典,加工逻辑,不包括结构图

5.7 COCOMO II 的体系结构阶段:功能点,代码行,对象点,模型把工作量表示为代码行数.

5.8 喷泉模型是一种适合于面向对象开发方法的软件过程模型.该过程模型的特点:以用户需求为动力,支持软件重用,具有迭代性

5.9 吞吐量:在给定的时间内,系统所能处理的任务的数量.

5.10 响应时间:系统对请求作出响应的时间.

5.11 容量:存储器所能存储的全部信息量.

5.12 改写代码仅使其结构上更紧凑,并不能提高执行效率.

6.结构化开发方法(下午第一题)

6.1 设计阶段接口设计主要依据需求分析阶段的数据流图,接口设计的任务主要是描述软件与外部环境之间的交互关系,软件内模块之间的调用关系

6.2耦合

6.2.1非直接耦合:没有直接关系

6.2.2数据耦合:传值(值传递)

6.2.3标记耦合:传对象(地址传递)

6.2.4控制耦合:传入的参数作为判断的依据。

6.2.5外部耦合:模块访问全局变量

6.2.6公共耦合:模块访问公共数据环境,公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。

6.2.7内容耦合:模块访问另一模块内部

6.3内聚

6.3.1偶然内聚(巧合内聚):没有任何联系

6.3.2逻辑内聚:把几种相关的功能组合在一起,通过参数确定该模块完成哪一个功能。

6.3.3时间内聚:把需要同时执行的动作组合在一起形成的模块。

6.3.4过程内聚:指一个模块完成多个任务,这些任务必须按指定的过程执行。

6.3.5通信内聚:各处理使用相同的输入数据或者产生相同的输出数据。

6.3.6顺序内聚:一个模块完成多个功能,这些模块又必须顺序执行。

6.3.7功能内聚:模块内所有元素共同完成一个功能,联系紧密,缺一不可。

6.4 数据流图中的元素在数据字典中进行定义,数据字典的条目包括数据流,数据项,数据存储和基本加工

7.面向对象技术(下午第三题)

7.1一个类有多个父类,称为多重继承,可能造成该类存在二义性的成员

7.2UML有4种关系:依赖,关联,泛化,实现

7.2.1依赖:--→(虚线实箭头),一个事物发生变化会影响另一个事物(依赖事物)的语义.

7.2.2关联:一(实线),关联,关联是一种结构关系,是对象之间的连接.聚合和组合都是特殊类型的关联.

7.2.2.1聚合一◇(空心的菱形),聚合关系是"has-a"的关系,删了聚合关系,不一定删除聚合的成员

7.2.2.2组合一◇(实心的菱形),组合关系是"contains-a"的关系,删了组合关系,一定删除组合的成员

7.2.3泛化一→(实线空心箭头),子类继承父类,父类是子类的泛化

7.2.4实现--→(虚线空心箭头),实现接口

7.3 UML中的图

7.3.1类图:展现了一组对象,接口,协作和他们之间的关系,包含类(属性,操作),接口,协作,依赖,泛化和关联关系.

7.3.2对象图:某一时刻一组对象以及它们之间的关系,包括对象(对象名:类)和链

7.3.3用例图:一组用例,参与者以及它们之间的关系.包括用例,参与者(小人),用例之间的扩展关系,包含关系,参与者和用例之间的关联关系,泛化关系.

7.3.4交互图

7.3.4.1序列图(时序图):以时间顺序组织的对象之间的交互活动.包括对象,生命线,消息

7.3.4.2通信图:强制收发消息的对象的结构组织.包括对象,链,消息

7.3.4.3交互概览图:它是活动图的变体,描述业务过程中的控制流概览,包含类的方法,判断

7.3.4.4计时图:类似示波器的图形

7.3.5状态图:展现了一个状态机,它由状态,转换,事件和活动组成.

7.3.6活动图:一种特殊的状态图,展现的是从一个活动到另一个活动的流程.包括活动状态,动作状态,转换和对象.

7.3.7构件图:展现了一组构件之间的组织和依赖,包含构件,供接口(圆形),依赖,需接口(半圆形).

7.3.8组合结构图:展示一组相互协作的实例如何完成特定的任务,描述设计,架构模式或策略.上面会有这个结构图的名称.

7.3.9部署图:展现了运行时处理结点以及其中构件的配置,一般有server和client

7.3.10包图:展现由模型本身分解而成的组织单元以及其间的依赖关系,像文件夹的形状

7.4设计模式

7.4.1创建型设计模式:与对象的创建有关

7.4.1.1 Abstract Factory(抽象工厂)

提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类.只想显示它们的接口而不是实现时.

7.4.1.2 Builder(生成器)

将一个复杂对象的构造与它的表示分离,使得同样的构建过程可以创建不同的表示.

7.4.1.3 Factory Method(工厂方法)

定义一个用于创建对象的接口,让子类决定实例化哪一个类.

7.4.1.4 Prototype(原型)

用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象.

7.4.1.5 Singleton(单例)

保证一个类只有一个实例,并提供一个访问它的全局访问点.

7.4.2结构型设计模式:处理类与对象的组合

7.4.2.1 Adapter(适配器)

将一个类的接口转换成客户希望的另外一个接口.

7.4.2.2 Bridge(桥接)

将抽离部分与其实现部分分离,使它们都可以独立地变化.

7.4.2.3 Composite(组合)

将对象组合成树型结构以表示"部分-整体"的层次结构.

7.4.2.4 Decorator(装饰)

动态地给一个对象添加一些额外的职责.

7.4.2.5 Facade(外观)

为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用.

7.4.2.6 Flyweight(享元)

运用共享技术有效地支持大量细粒度的对象.

7.4.2.7 Proxy(代理)

为其他对象提供一种代理以控制对这个对象的访问.

7.4.3行为型设计模式:对类或对象怎样交互和怎样分配职责进行描述

7.4.3.1 Chain of Responsibility(责任链)

使多个对象都有机会处理请求,避免请求的发送者和接受者的耦合关系.将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止.

7.4.3.2 Command(命令)

将一个请求封装为一个对象,从而使得可以用不同的请求对客户进行参数化;

7.4.3.3 Interpreter(解释器)

给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子.

7.4.3.4 Iterator(迭代器)

提供一种方法顺序访问一个聚合对象的各个元素,且不需要暴露该对象的内部表示.

7.4.3.5 Mediator(中介者)

用一个中介对象来封装一系列的对象交互.

7.4.3.6 Memento(备忘录)

在不破坏封装性的前提下捕获一个对象的内部状态,并在对象之外保存这个状态.

7.4.3.7 Observer(观察者)

定义对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖于她的对象都得到通知并被自动更新.

7.4.3.8 State(状态)

允许一个对象在其内部状态改变时改变它的行为.

7.4.3.9 Strategy(策略)

定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换.

7.4.3.10 Template Method(模板方法)

定义一个操作中的算法骨架,并将一些步骤延迟到子类中.

7.4.3.11 Visitor(访问者)

表示一个作用于某个对象结构中的各元素的操作.

7.5 设计原则

7.5.1共同封闭:包中所有类对于同一种性质的变化应该是共同封闭的,有变化,保内的所有类一起改变.

7.5.2共同重用:一个包内的所有类是共同重用的,重用了一个类,相当于重用了包中的所有类.

7.5.3开放-封闭:对扩展开放,对修改封闭.

7.5.4接口隔离:使用多个专门的接口比使用单一的总接口要好.

7.6 过载的多态是指同一个名字在不同的上下文所代表的含义不同.

8.算法设计与分析(下午第四题)

8.1 分治法

分治算法在每一层递归上都有3个步骤:分解,求解,合并

8.2 动态规划法

与分治法类似,不同的是动态规划法用一个表记录子问题的答案,在需要时找出已求得的答案

8.3 贪心法

贪心法根据当前已有信息作出选择,达到局部最优的效果,比如背包问题(可拆分),所以贪心算法并不总能得到最优解.

8.4 回溯法

回溯法按照深度优先,从根节点触发搜索空间树,比如0-1背包问题

8.5 分支限界法

分支限界法类似于回溯法,但它只是要找到一个解

8.6 概率算法

8.7 近视算法

8.8 数据挖掘算法

8.9 智能优化算法

9.数据库技术基础(下午第二题)

10.网络与信息安全基础知识

10.1适合对大量的明文消息进行加密传输的是RC5

10.2 当两个用户所使用的证书来自于不同的认证机构时,需要先对两个CA的身份进行认证

10.3 MD5是摘要算法,128位

10.4 常见的对称加密算法有:DES,RC5,IDEA,AES

10.5 1. A将邮件用随机对称加密秘钥K加密,将邮件密文发送给B

2. A将邮件生成摘要(MD5,SHA),将摘要用A的私钥加密(数字签名),将摘要密文发送给B

3. A将随机对称加密秘钥K用B的公钥加密,将秘钥密文发给B

4. B将随机对称加密秘钥密文用B的私钥解密,生成秘钥K

5. B将邮件密文使用秘钥K解密生成邮件正文,再生成摘要

6.B将摘要密文使用A的公钥解密,生成摘要,再与上面的摘要进行比对,看是否一致

 

 

 

10.6 访问控制的任务不包括审计

10.7 BGP属于外部网关协议

10.8 信息安全包括机密性,完整性,可用性,可控性,可审查性

10.8.1机密性:信息不暴露给未授权的实体或进程

10.8.2完整性:未经授权不能进行改变

10.8.3可用性:得到授权的实体在需要时可访问数据

10.9 windows命令

10.9.1 ipconfig:显示ip,mac等信息

10.9.2 traceroute:用于确定IP数据包访问目标所采取的路径.

10.9.3 netstat:用于显示网络连接,路由表和网络接口信息.

10.9.4 nslookup:查询DNS记录

10.10 无效的IP地址:169.254.x.x 和 0.0.0.0

10.11主域名服务器在接收到域名请求后,首先查询的是本地缓存

11.标准化和软件知识产权基础知识

11.1.专利权只有一个,但是可以作为共同申请人,谁先申请则属于谁.

11.2 必须使用注册商标的是烟草类商品

 

 

12.软件系统分析与设计

 

13.新技术

 

14.专业英语

 

15.多媒体

15.1语音信号定义的频率最高值为4kHz

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值