软考知识点
持续更新.....
=======================================================================================
上午题
设计模式
单例:保证一个类仅有一个实例,单例模式是创建模式,提供一个访问唯一实例的全局访问点
观察者:定义一个对象的状态发送改变时,通知所有依赖于他的对象并被自动更新。
适用于:当一个对象改变需要同时改变其他对象,而不知道具体有多少个;要通知其他对象,但不能知道对象时谁。
组合:将对象组合成属性结构以表示对象的部分-整体的层次结构,使得用户对单个对象和组合对象的使用具有一致性。
适用于:希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所以模式
外观:为子系统的一组接口提供一个一致的界面,fapde模式定义了一个高层接口,这个接口使得该子系统更加容易使用
适用于:要为一个子系统提供一个简单的接口,子系统往往因不断的演化而变得越来越复杂。
享元:运用共享技术有效地支持大量细粒度的对象。
适用于:一个应有程序使用了大量的对象。
装饰器:描述看已透明围栏来支持修饰的类和对象的关系,动态地给一个对象添加一些额外的职责。从增加功能来看,比生成子类好
适用于:在不影响其他1对象的情况再,以动态,透明的方式给单个对象增加职责。
工厂方法:定义一个用于创建对象的接口,让子类决定将哪个类实例化,使一个类的实例化延迟到其他子类
适用于:当一个类不知都它所必须创建的对象的类的时候
中介者:用一个中介对象来封装一系列得对象交互。
适用于:一组对象以定义良好好,但是复杂得方式进行通信
命令:将一个请求封装为一个对象,从而使得可以不用不同的请求对客户进行参数化
策略:定义一系列的算法,把他们封装起来,并且使他们可以互相替换
责任链:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之前的耦合关系
状态:允许一个对象在内部状态的改变
适配器:将一个类的接口转换成客户希望的接口
开发方法包括面向对象分析、面向对象设计、面向对象实现。
开发模型

题目1.内存按字节编址从B3000H到DABFFH得区域其存储容量为
DABFF-B3000+1 ,然后转2进制,如果单位为KB再除1024.
数据范式

1NF 属性都是不可分的原子性
2NF 没有部分函数传递依赖
3NF 没有传递函数依赖
BCNF 消除主键和外键的部分和传递依赖
部分函数依赖 A,B->C C->B
传递函数依赖 A->B B->C
== A->C
内聚
功能内聚:完成一个单一功能,各个部分协同工作,缺一不可
顺序内聚:处理元素相关,而且必须顺序执行
通信内聚:所有处理元素集中再一个数据结构的区域上
过程内聚:处理元素相关,而且必须按特定的次序执行
瞬时内聚:所包含的任务必须再同一时间间隔内执行
逻辑内聚:完成逻辑上相关的一组任务
偶然内聚:完成一组没有关系或者松散关系的任务
耦合
数据耦合:一一个模块访问另-个模块时,彼此之间是通过简单数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的。
公共耦合:若-组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。
外部耦合: - -组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。
标记耦合: 一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构 ,而不是简单变量。本题描述的是标记耦合。
进制转换 + 原/补/移码的区别
10进制 转其他进制 ,就除该进制数 逆向取余
其他进制 10进制 安权展开 (123)16 = (?)10 ---- 1*16的2次方 + 2*16的1次方 + 3*16的0次方
2进制 其他进制
- ->8 取3位转
2 ->16 取4位转 (16进制含有ABCDF对应9-15)
2 ->10 自学。。8421
假设有n位

浮点数
阶码:R 尾数:M
范围为 
阶码的位数 决定 浮点数的范围
阶码的尾数 决定 浮点数的精度
小阶向大阶看起,尾数右移
感觉媒体:指人们接触信息的感觉形式。如:视觉、听觉、触觉、嗅觉和味觉等。
表示媒体:指信息的表示形式。如:文字、图形、图像、动画、音频和视频等。
显示媒体(表现媒体) : 表现和获取信息的物理设备。如:输入显示媒体键盘、鼠标和麦克风等;输出显示媒体显示器、打印机和音箱等。
存储媒体:存储数据的物理设备,如磁盘、光盘和内存等。
传输媒体:传输数据的物理载体,如电缆、光缆和交换设备等。
CPU的操作控制功能:一条指令功能的实现需要若干操作信号配合来完成,CPU产生每条指令的操作信号并将其送往对应的部件,控制相应
的部件按指令的功能进行操作。
CPU的运算器只能完成运算,而控制器用于控制整个CPU的工作。
运算器:
算术逻辑单元(ALU):负责数据处理,实现对数据的算术运算和逻辑运算,暂时存储计算结果等
累加寄存器(AC):当ALU执行算术或是逻辑运算的时候,为ALU提供一个工作区。
数据缓冲寄存器(DR):作为CPU和内存,外围设备之间数据的中转站。是CPU和内存,外围设备之间在操作速度上的缓冲
。
控制器:
程序计数器(PC):具有寄存信息和记数两种功能,又称为指令计数器。
指令寄存器(IR):当CPU执行一条指令时,先把它从内存储器取到指令缓存器中,再送入到指令寄存器中,然后经过指令译码器的译码,从而产生各种微操作。
地址寄存器(AR):保存当前CPU所访问的内存单元的地址,由于CPU和内存在操作速度上的差异,所以需要使用AR保持地址信息,直到内存的读写操作完成。
指令译码器(ID):指令译码器对指令的操作码和地址码进行解析,转换成相应的操作信号,控制各部件的工作,完成所需要的功能。
Flynn分类

指令的嗯基本分类,殉职方式分类
1、立即寻址:
地址码就是操作数,这种寻址方式不必再次访问主存去取操作数,当然也无须修改操作数(这种方式获得操作数的速度最快)
2、直接寻址:
指令的地址码就是操作数在主存内的地址,也就是说地址码就是主存内数据的绝对地址,不必做任何换算(也就是操作数的地址直接包含在指令中,只要按照指令中的地址去找就可以了),但这种地址方式的不足之处在于寻址范围有限。
3、间接寻址:
在指令的地址码部分直接给出的既不是操作数(直接给出操作数的是立即寻址),也不是操作数的地址(直接给出操作数地址的是直接寻址),而是操作数的地址的地址。这种方式提高了寻址的灵活性,扩大了寻址的范围,但是由于多次访问主存,速度大为降低。
4、寄存器寻址:
地址码的地址是寄存器的地址,和内存地址而言,访问寄存器的速度是非常快的,所以使用寄存器寻址有非常快的速度,不足之处在于寄存器的数量有限。
5、寄存器间接寻址:
地址码保存的是寄存器的地址,相对应的寄存器中保存的是操作数在主存中的地址,这样既快又有灵活性,是一种广泛使用的寻址方式。
CISC与RISC的区别
1、CISC:复杂指令集;RISC:精简指令集。
2、CISC的特点:指令数量多,指令频率差别大,多寻址,使用微码。
3、RISC的特点:指令数量少,操作寄存器,单周期,少寻址,多通用寄存器,硬布线逻辑控制,适用于流水线。
流水线
如果各段流水的操作时间不同,则流水线的吞吐率是(最长流水段操作时间)的倒数。
例:
若指令流水线把一条指令分为取指、分析和执行三部分的时间分别是T(取指)=2ns,T(分析)=4ns,T(执行)=1ns,则100条指令全部执行完毕需_ 403_ns.,不用流水需要 700 ns.
解析:(2+1)+(100)x4=7+396=403 (个人计算习惯)
(2+4+1) * 100 =700
ISO/IEC 9126软件质量模型, 该模型的质量特性和质量子特性如下:
功能性(适合性、准确性、互用性、依从性、安全性) ;
可靠性(成熟性、容错性、易恢复性) ;
易使用性(易理解性、易学性、易操作性) ;
效率(时间特性、资源特性);
可维护性(易分析性、易改变性、稳定性、易测试性) ;
可移植性(适应性、易安装性、一致性、易替换性)。
安全性是功能特性的子特性。
计算机分层局部性原理

Cache存储体系 由 Cache和主存储器构成 提高存储速度
虚拟存储体系 由主存储器 和在线磁盘存储器等辅存构成 提高存储器容量
DMA控制方式是在(主存与外设)之间直接建立数据通路进行数据的交换处理
在所有的存储元件中,效率最高的是寄存器,寄存器在CPU中,CPU中有运算器和控制器,在这两个元件中都有寄存器。寄存器的存储容量极小,但是它的效率极快,所以它在存储结构的最高层。
Cache(高速缓存)处于CPU和主存之间,它是为了提高访问的速度而提出来的一种设计方案。
直接映像
主存中的块与Cache的块固定对应,主存的块只能放在Cache存储器相同块号中。
优点:地址变换简单。
缺点:灵活性差。
全相联映像
允许主存任一块可以调入Cache任一块。
优点:十分灵活
缺点:变换复杂速度慢。
组相联映射
是前两种方法折中,将Cache的块划分组,通过直接映像确定组号,组内用全相联确定块号。
总线分类
1、数据总线(Data Bus):在CPU与RAM之间来回传送需要处理或是需要储存的数据。
2、地址总线(Address Bus):用来指定在RAM(Random Access Memory)之中储存的数据的地址。
3、控制总线(Control Bus):将微处理器控制单元(Control Unit)的信号,传送到周边设备,一般常见的为 USB Bus和1394 Bus。
系统可靠性计算

自己会看。。不会说
三种校验方式
奇偶效验:简便可靠易行,但它只能发现错误,却不知错在何处,因而不能自动纠正。
海明校验码:具体错误并纠正
循环冗余检验CRC,采用模二除法运算的。
计算:
核心公式:2r - 1 ≥ r + k
其中k为信息的个数,r为校验位的个数,那么我们怎样来确定校验位?

CRC校验:能够校验传送信息的对错,并且能自动修正错误。广泛用于通信和磁介存储器中。
进程状态变迁

PV操作
自己多做题,拿到题目,现在线上写上 流程1234。。然后再对应写PV操作
死锁问题
系统资源,每个程序的所需资源,已经分配资源。
例:有3程序都需要4个资源能完成,当系统为 10及或以上不发生死锁,而9及以下就发生死锁
3 *( 4 - 1)
页式存储,段式存储,段页存储等
选择题,基本看,页号对应给的数,自己换换
磁盘
磁盘调度管理中 先进行移臂调度,再进行旋转调度。(在访问不同磁盘的信息时,只需要进行移臂调度)
磁盘臂位。。。号柱面,看离得最近的柱面,如有多个最近,选小的磁头号,在选扇区号
索引文件

刷题 注意物理块号的大小
相对路径与绝对路径
相对路径就是某一个文件对上的文件名。 注意 文件名 前面没/ 例子 asd/
绝对路径,具体的路径。如有多个路径,题目会给制定文件
位示图


I/O控制方式
程序控制方式(查询):程序查询方式,也称程序轮询方式,该方式采用用户程序直接控制主机与外部设备之间输入/输出操作。CPU必须不停地循环测试I/O设备的状态端口,当发现设备处于准备好(Ready)状态时,CPU就可以与I/O设备进行数据存取操作。这种方式下的CPU与I/O设备是串行工作的。
程序中断:某进程遇到突发事情,停止该进程,保留该节点,去执行紧急程序,处理完返回记录节点,继续执行,提高了CPU的利用率。
DMA:允许主存储器和I/O设备之间通过“DMA控制器(DMAC)”直接进行批量数据交换,除了再数据传输开始和结束时,整个过程无须CPU的干预。
SPOOLING技术
虚拟性是OS的四大特性之一。通过SPOOling技术便可将一台物理I/O设备虚拟为多台逻辑I/O设备,同样允许多个用户共享一台物理I/O设备
数据库模式
三级模式 两级映射
外模式 视图
模式 基本表
内模式 存储文件
模式/内模式映射
外模式/模式映射
关系代数
表1,2
并 2个和一个,补充全部
交 2个表 共同有的属性
差 2个表减 ,留下1有,2无的
笛卡尔积 2表,相同的行,分A1.B1
依赖
函数依赖 学号,课号 -> 成绩 要2个才能确定
部分函数依赖 学号,科室 -> 成绩 科室是多余的
传递函数依赖 学号 -> 学生,学生->姓名 所以学号->姓名,传递性
范式
1NF 不可分 类似与函数依赖
2NF 类似于部分依赖
3NF 传递依赖
BNF 消除依赖
事务特性
共享锁(S锁) 锁了后事物T后,X锁不能锁该事物
排它锁(X锁)
计算机网络
OSI/RM的七层

TCP/IP的四层



分层结构

核心层——提供最优的区间传输
汇聚层——提供基于策略的连接
接入层——为多业务应用和其他的网络应用提供用户到网络的接入
HTML标签
<tr>标记行
<th>标记表头 默认居中加粗
<td>标记列
<form>表单标签
<input>输入标签
<h1>-<h2>标题标签
<img>图像标签
<a>链接标签 href
网络安全协议
面向连接的TCP传输控制协议:tcp三次握手,四次挥手。性质:可靠传输,差错控制,流量控制。
无连接的包传输的UDP用户数据报文协议 :不可靠的,无连接的。性质:高速率性,通信量浪费小。
其他协议有:
HTTP(HyperText Transfer Protocol,超文本传输协议)运行于TCP协议上。(https是http的安全模式,用ssL协议加密)
TELNET (Teletype over the Network, 网络电传) ,通过一个终端(terminal)登陆到网络(运行在TCP协议上)。(telnet用ssh加密)
FTP (File Transfer Protocol, 文件传输协议) ,由名知义(运行在TCP协议上) 。
SMTP (Simple Mail Transfer Protocol,简单邮件传输协议) ,用来发送电子邮件(运行在TCP协议上) 。
DNS (Domain Name Service,域名服务) ,用于完成地址查找,邮件转发等工作(运行在TCP和UDP协议上) 。
加密算法
RSA是一种对称加密算法
SHA-1 与 MD5是属于信息摘要算法 不能加密数据
RC-5 非对称加密算法 明文加密
网络病毒分类
1.蠕虫 熊猫烧香
2.木马 前缀为Trojan
3.宏病毒 一般感染yiDOC为扩展名的文件
4.系统病毒 win32 pe
5.脚本病毒 前缀Script
攻击方式
主动攻击
主动攻击会导致某些数据流的篡改和虚假数据流的产生。这类攻击可分为篡改、伪造消息数据和终端(拒绝服务)。
(1) 篡改消息
篡改消息是指一个合法消息的某些部分被改变、删除,消息被延迟或改变顺序,通常用以产生一个未授权的效果。如修改传输消息中的数据,将“允许甲执行操作”改为“允许乙执行操作”。
(2)伪造
伪造指的是某个实体(人或系统)发出含有其他实体身份信息的数据信息,假扮成其他实体,从而以欺骗方式获取一些合法用户的权利和特权。
(3)拒绝服务
拒绝服务即常说的DoS(Deny of Service),会导致对通讯设备正常使用或管理被无条件地中断。通常是对整个网络实施破坏,以达到降低性能、终端服务的目的。这种攻击也可能有一个特定的目标,如到某一特定目的地(如安全审计服务)的所有数据包都被阻止。
被动攻击
被动攻击中攻击者不对数据信息做任何修改,截取/窃听是指在未经用户同意和认可的情况下攻击者获得了信息或相关数据。
通常包括窃听、流量分析、破解弱加密的数据流等攻击方式。
公钥私钥
公钥加密,认证真实
私钥解密,数字签名
极限编程
现场客户 ( On-site Customer )
代码规范 ( Code Standards ): 每周40小时工作制 ( 40-hour Week )
计划博弈 ( Planning Game ): 要求结合项目进展和技术情况,确定下一阶段要开发与发布的系统范围。
系统隐喻 ( System Metaphor ): 通过隐喻来描述系统如何运作、新的功能以何种方式加入到系统。它通常包含了一些可以参照和比较的类和设计模式。
简单设计 ( Simple Design )
测试驱动 ( Test-driven )
代码重构 ( Refactoring ) 代码重构是指在不改变系统行为的前提下,重新调整、优化系统的内部结构以减少复杂性、消除冗余、增加灵活性和提高性能。
成对编程 ( Pair Programming ) XP 认为开发小组的每个成员都有更改代码的权利,所有的人对于全部代码负责。
持续集成 ( Continuous Integration ) 提倡在一天中集成系统多次,而且随着需求的改变,要不断的进行回归测试。
小型发布 ( Small Release ) 强调在非常短的周期内以递增的方式发布新版本,从而可以很容易地估计每个迭代周期的进度,便于控制工作量和风险;同时,也可以及时处理用户的反馈。
软件追求:高内聚,低耦合!!
测试分类和阶段
1.单元测试(各个测试的基础,测试对象:最小可测试单元)
2.集成测试(测试关注最小可测试单元之间接口和子系统集成)
3.系统测试(整个系统组装后置于真实运行环境进行全面评估)
4.验收测试(用户角度对系统进行认可验收)
McCabe
V = m-n+2
线减圈 +2 不算开始和结束
软件维护的分类和特点

软件文档分类 3类


软件质量管理过程包括
质量保证过程、验证过程、确认过程、评审过程、审计过程等。
1.软件质量保证
软件质量保证过程通过计划制订、实施和完成一组活动提供保证,这些活动保证项目生命周期中的软件产品和过程符合其规定的需求。
2.验证与确认
验证与确认过程使用能够定位缺陷并便于以后改正的测试技术直接处理软件产品质量问题。
3.评审与审计
管理评审的目的是监控进展,决定计划和进度的状态,确认需求及其系统分配,或评价用于达到目标适应性的管理方法的有效性。它们支持有关软件项目期间需求的变更和其他变更活动。
CMMI

CMMI连续式模型可以描述过程能力成熟度,CMMI阶段式可以描述组织能力成熟度
风险
特性
1)客观性
风险是一种不以人的意志为转移,独立于人的意识之外的客观存在。因为无论是自然界的物质运动,还是社会发展的规律,都由事物的内部因素所决定。由超过人们主观意识所存在的客观规律所决定。
2)偶然性
由于信息的不对称,未来风险事件发生与否难以预测。
3)相对性
风险性质会因时空各种因素变化而有所变化。
4)社会性
风险的后果与人类社会的相关性决定了风险的社会性,具有很大的社会影响力。
5)不确定性
发生时间的不确定性。从总体上看,有些风险是必然要发生的,但何时发生却是不确定性的。例如,生命风险中,死亡是必然发生的,这是人生的必然现象,但是具体到某一个人何时死亡,在其健康时却是不能确定的。
风险分类
项目风险:项目风险是指潜在的预算、进度、人力(工作人员和组织)、资源、客户、需求等方面的问题以及它们对软件项目的影响。
技术风险:是指潜在地设计、实现、接口、验证和维护等方面的问题。此外规约的二义性、技术的不确定性、陈旧的技术、以及“过于先进”的技术也是风险因素。
商业风险:商业风险威胁到要开发软件的生存能力。商业风险常常会危害项目或产品。

树
遍历树
先序:根左右
中序: 左根右
后序: 左右根
特殊二叉树
平衡二叉树:树中任一结点的左右子树高度之差不超过1。
查找二叉树:又称之为排序二叉树。任一结点的权值,大于其左孩子结点,小于其右孩子结点。
最优二叉树:又称为哈弗曼树,它是一类带权路径长度最短的树。(会构造,哈夫曼编码)
完全二叉树:最多只有最小面的两层结点的度可以小于2,并且最下面一层的结点全都集中在该层左侧的若干位置。
编译与解释

词法分析:检查单词错误
语法分析:检查 句子或者短语 错误
语义分析:检查 整个语段 错误

后缀表达式
一个树,后序遍历
端口号
HTTPS的端口:443
E-Mail相关端口:25、110
攻击行为
有4种,截获、中断、篡改、伪造。
主动攻击:中断、篡改、伪造。 被动攻击:截获
命令
Ping命令可以检查网络是否联通
Netstat命令检验本机各端口的网络连接情况
cmd 在window的控制面板
Msconfig 系统配置实用程序
词法分析,语法分析、语义分析
词法分析:识别每个单词
语法分析:处理逻辑问题
语义分析:最后的运行,输出
=======================================================================================
下午题
1.数据流图题
建模图 1-1 和图 1-2 时如何保持数据流图平衡
1.父图中某加工的输入输出数据流必须与它的子图的输入输出数据流在数量和名字上相同
2.父图的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流,而子图中组成这些数据流的数据项全体正好是父图中的这一个数据流
2.数据库设计
3.UML建模
4.数据结构 与 算法
1.分治法
2.回溯法
3.贪心法
4.动态规划法
5.面向对象题 java
浙公网安备 33010602011771号