错题集整理-上午题
2024-9-25 17:07:29
链表
解析:
A选项,链表每增加一个节点,数据存储空间随着变大,A选项正确
B选项,链表元素由数据域和指针域组成,指针域用于指向直接后继的元素的地址,由于链表元素不一定是连续的,因此整个链表的存取必须从头指针开始,B选项错误
C选项,插入和删除操作不需要移动元素,指向改变指针域的指向即可,C选项正确
D选项,链表不需要连续的存储空间存储,因此无需实现估计存储空间大小,D选项正确
统一过程模型
解析:
谐音记忆: 演进 , 精化
起始阶段:起始阶段专注于项目的初创活动。
精化阶段:精化阶段在理解了最初的领域范围之后进行需求分析和架构演进。
构建阶段:构建阶段关注系统的构建,产生实现模型。
移交阶段:移交阶段关注于软件提交方面的工作,产生软件增量。
面向对象
加密算法
- 典型的对称加密算法:DES,3DES,AEC等
- 典型的非对称加密算法:RSA,ECC等
- 典型的摘要算法:SHA,MD5等
哈夫曼
每个字符一开始都是叶子结点
基于构建的开发
基于构件的开发是指利用预先打包的构件来构造应用系统。构件可以是组织内部开发的构件,也可以是商品化成品软件构件。基于构件的开发模型具有许多螺旋模型的特点,它本质上是演化模型,需要以迭代方式构建软件。其不同之处在于,基于构件的开发模型采用预先打包的软件构件开发应用系统
设计模块
数据库
算法
折半查找
贪心策略
贪心算法是指在对问题求解时,总是 做出 在当前看来是最好的选择。
-
分数背包即部分背包问题,物品可选择部分或全部放进背包,直至装满背包,通过贪心算法求解可将单位价值最大的物品 优先 ** 放入背包,以实现背包物品价值的最大化**
-
0-1背包指物品整体放入或不放入背包,因此不一定能完全装满背包,采用贪心算法可以取得局部最优解,但不一定是全局最优解;
-
旅行商问题是指旅行商要到若干个城市旅行,每访问一个城市后, 都会回到最初开始的城市,用贪心法不一定能求得最优解;
-
最长公共子序列用贪心法也不一定能求得最优解
白盒测试
白盒测试原则如下:
(1)所有独立路径至少执行一次
(2)取“真”和取“假”的两种逻辑判断至少都能执行一次
(3)每个循环都应在边界条件和一般条件下各执行一次
(4)测试程序内部数据结构的有效性等
判定覆盖
使程序中每条分支都至少执行一次
设计2个测试用例执行路径:
①②③④⑦⑧⑨⑩;①②③⑤⑦⑥③
或者
①②③④⑦⑥③;①②③⑤⑦⑧⑨⑩
即可满足判定覆盖。
语句覆盖
路径覆盖
取足够的测试用例,使得程序的每条可能执行到的路径都至少经过一次(如果程序中有环路,则要求每条环路路径至少经过一次)
如图:如图每个判断都需要两个用例,因此需要6个测试用例
黑盒测试
因果图鱼骨图(又名因果图、石川图)
是一种发现问题“根本原因”的分析方法,常用在项目管理中,黑盒测试也可以使用该方法
有效等价类
边界值分析
对输入或输出的边界值进行测试的一种黑盒测试方法
甘特图
重载和重写
浮点数
系统总线
解析
按连接部件不同,总线可分为:片内总线、系统总线、通信总线。
片内总线是芯片内部的总线,如CPU内部的总线。
系统总线是CPU、主存、I/O设备各大部件之间的信息传输线。
通讯总线用于计算机系统之间或与其他系统之间的通信。
OSI参考模型
解析
1.应用层(第7层):直接与用户和应用程序交互,提供网络服务,如HTTP、FTP等。
2.表示层(第6层):负责数据格式的转换、压缩和加密,确保不同系统之间的兼容性。
3.会话层(第5层):管理会话和连接,控制对话的建立、维护和终止。
4.传输层(第4层):提供端到端的通信,确保数据完整性和顺序,如TCP和UDP。
5.网络层(第3层):负责数据包的路由和转发,处理逻辑地址,如IP协议。
6.数据链路层(第2层):管理物理地址和错误检测,确保数据在同一网络内的传输。7.物理层(第1层):处理物理媒介的传输,涉及电气信号、光信号和传输介质
软件著作权
解析
- 署名权不可以继承, 看到所有权利的时候, 需要想到署名权
- 学习和研究, 可以不向软件著作权人支持报酬
- 部分或者全部转让, 这里的“全部”通常指的是经济权利,例如复制权、发行权、改编权等,但不包括署名权。署名权始终属于原作者,不能转让
对于著作人身权,也就是作者的署名权、修改权、保护作品完整权等权力,《中华人民共和国著作权法》规定上述权利的保护期不受限制
敏捷开发
解析
极限编程: 测试先行,计划赶不上变化
水晶法: 项目规模,重要性
并列争球法: 30天作为一个冲刺
自适应ASD: 复杂自适用, 提高组织的自适用能力
敏捷统一过程(AUP)
开发模型
快速原型模型
瀑布模型
喷泉模型
UML
序列图
特征
- 有垂直生命线
- 有水平消息箭头.强调消息传递的时间顺序
用例图
特征
- 椭圆形的用例框
概念
系统在它的周边环境的语境中所提供的外部可见服务
类图
协作图
特征
- 对象之间的链接线,标注消息序号,强调对象关系
概念
状态图
特征
- 圆角矩形
箭头表示状态之间的转移,突出状态变化
概念
活动图
特征
开始和结束用圆形表示,活动用矩形表示,控制流用箭头连接
概念
系统内从一个活动到另一个活动的流程
组件图
特征
概念
部署图
特征
概念
对象图
特征
概念
展示某一时刻一组对象以及它们之间的关系
设计模式
命令模式
将一个请求封装为对象,从而可以用不同的请求对客户进行参数化
观察者模式
当一个对象的状态发生改变时,依赖于它的对象都得到通知并被自动更新
状态模式
允许一个对象在其内部状态改变时改变它的行为
策略模式
定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换
举例: 要求能根据季节,节假日等推出不同的旅行定价包,如淡季打折、一口价等
入侵防御系统
认证方式安全性
CA
软件可维护性
虚拟存储
SSL
管道过滤器
Python
- 没有内置的switch...case语句
页式存储
CPI 与 MIPS
加工
项目管理
风险管理
软件设计
软件测试
系统可维护性
系统验收测试
数据库
软件详细设计阶段
- 数据结构设计
- 算法设计
- 数据库的物理设计
- WITH CHECK OPTION
- 主要与数据的完整性和视图的约束相关
- WITH GRANT OPTION
- 主要与权限的传递和管理相关
分布式数据库
- 分片透明
- 指用户或应用程序不需要知道逻辑上访问的表具体是怎么分块存储的
- 复制透明
- 采用复制技术的分布方法,用户不需要知道数据是复制到哪些节点,如何复制的
- 位置透明
- 用户无须知道数据存放的物理位置,逻辑透明,即局部数据模型透明,是指用户或应用程序无须知道局部场地使用的是哪种数据模型
SCRUM MASTER职责
- 商品关系的主键是商品号
- 仓库关系的主键是(仓库号,商品号)
- 显然,仓库关系存在冗余、修改操作的不一致,以及插入异常和删除异常
- 派生属性
- 由其他属性经过运算得到的属性,因而派生属性产生冗余,通常不存储. 如age可以通过birth计算得到
- 多值属性
- 一个属性会同时取多个值, 而且这些值必须存储,如一个人可能有多个手机号码, 一个用户有多个收货地址
软件结构设计阶段
概要设计阶段(全局)
- 软件系统总体结构设计,将系统划分成模块
- 确定每个模块的功能
- 确定模块之间的调用关系
- 确定模块之间的接口,即模块之间传递的信息
- 评价模块结构的质量
- 数据结构及数据库设计
软件详细设计阶段(细节)
- 对模块内的数据结构进行设计
- 对数据库进行物理设计
- 对每个模块进行详细的算法设计
- 代码设计、输入/输出设计、用户界面设计
螺旋模型
螺旋模型强调通过多个迭代来降低项目风险,而不是专门为了快速交付
螺旋模型的核心是风险的评估和缓解
耦合
语法分析、词法分析、语义分析、目标代码生成
- 词法分析阶段处理的错误:非法字符、单词拼写错误等
- 语法分析阶段处理的错误:标点符号错误、表达式中缺少操作数、括号不匹配等有关语言结构上的错误。
- 静态语义分析阶段(即语义分析阶段)处理的错误:运算符与运算对象类型不合法等错误。
- 目标代码生成(执行阶段)处理的错误:动态语义错误,包括陷入死循环、变量取零时做除数、引用数组元素下标越界等错误等
以编译方式翻译C/C++源程序的过程中,类型检查在( )阶段处理。
A 词法分析
B 语义分析 √
C 语法分析
D 目标代码生成