
软件工程
Linux查看内存使用情况:free命令、sar命令、top 命令一般用于查看进程的CPU和内存使用情况;当然也会报告内存总量,以及内存使用情况,所以可用来监控物理内存的使用情况。
1.Linux常见命令
static全局变量只初始化一次,这样做的目的是为了防止在其他文件单元中引用。static局部变量和普通局部变量的区别在于static局部变量只被初始化一次,下一次的计算依据是上一次的结果值。
静态变量:程序启动时创建并初始化,程序结束时销毁释放。 普通变量:程序自定义创建及初始化,在函数退出时或对象析构时自定义销毁释放。
为别人不会同时修改数据。. 因此乐观锁不会上锁,只是在执行更新的时候判断一下在此期间别人是否修改了数据:如果别人修改了数据则放弃操作,否则执行操作。. 悲观锁:悲观锁在操作数据时比较悲观,认为别人会同时修改数据。. 因此操作数据时直接把数据锁住,直到操作完成后才会释放锁;上锁期间其他人不能修改数据。
C++结构体内部成员变量及成员函数默认的访问级别是public,而c++类的内部成员变量及成员函数的默认访问级别是private。
默认的继承访问权限、默认的数据访问控制权限
class这个关键字还可用于定义模板参数,就像typename。但是strcut不用与定义模板参数,
排序算法的比较
stl库的包含内容?容器?算法?迭代器?
C++常见知识点
- 左连接、右链接、等值连接、自然连接
- 删除语句 增删改查
- char与vchar的区别
- like % -
count sum- 最左前缀原则
常用的是层次模型,网状模型和关系模型(最重要)
SQL的四个组成部分:
1、数据库模式定义语言DDL:create用来创建数据库中的各种对象——表、视图、索引、同义词、聚簇等
2、数据查询语言dql:基本结构是由SELECT子句,FROM子句和WHERe子句组成的查询块
3、数据操纵语言dml:插入INSERT、更新UPDATE和删除DELETE
4、数据控制语言dcl:用来授予或回收访问数据库的某种特权,并控制数据库操纵事物发生的时间和效果,对数据库实监控
乐观锁在操作数据时非常乐观,认为别人不会同时修改数据。. 因此乐观锁不会上锁,只是在执行更新的时候判断一下在此期间别人是否修改了数据:如果别人修改了数据则放弃操作,否则执行操作。. 悲观锁:悲观锁在操作数据时比较悲观,认为别人会同时修改数据。. 因此操作数据时直接把数据锁住,直到操作完成后才会释放锁;上锁期间其他人不能修改数据。
数据库整理
管理硬件和软件的计算机程序。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。
操作系统
计算机网络1
计算机网络2
B站10 道大厂面试必考的计算机网络问题
B站java汇总视频讲解
白盒测试法的覆盖标准有 逻辑覆盖 、循环覆盖和基本路径测试。. 其中逻辑覆盖包括 语句覆盖 、 判定覆盖 、 条件覆盖 、判定/条件覆盖、
条件组合覆盖 和 路径覆盖 。. 六种覆盖标准发现错误的能力呈由弱到强的变化: [1] 1.语句覆盖每条语句至少执行一次。. [1]
2.判定覆盖每个判定的每个分支至少执行一次。.
可行性分析、需求分析、概要设计、详细设计、编码、单元测试、集成测试、系统测试、软件交付、验收、维护。
一、 软件工程模型:
二、
需求分析:是一个对用户的需求进行去粗取精、去伪存真、正确理解,然后把它用软件工程开发语言表达出来的过程,基本任务是和用户一起确定要解决的问题,建立软件的逻辑模型,编写需求规格说明书文档并最终得到用户的认可。
概要设计:⑴设计软件系统结构(系统有多少个模块,各模块之间的接口和个模块本身的功能)⑵进行数据结构及数据库的设计⑶编写概要设计的文档⑷评审
详细设计:依据概要设计阶段的分解,设计每个模块内的算法、流程等。
三、软件维护:
(1)改正性维护:在软件交付使用后,因开发时测试的不彻底、不完全,必然会有部分隐藏的错误遗留到运行阶段。这些隐藏下来的错误在某些特定的使用环境下就会暴露出来。为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的误使用,应当进行的诊断和改正错误的过程就叫做改正性维护 。
(2)适应性维护:在使用过程中,外部环境(新的硬、软件配置)数据环境(数据库、数据格式、数据输入/输出方式、数据存储介质)可能发生变化
(3)完善性维护:在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为满求了足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。
(4)预防性维护。为了提高软件的可维护性和可靠性而对软件进行的修改称为预防性维护。
四、衡量模块独立性的两个标准是什么?各表示什么含义?
内聚和耦合。内聚:又称为块内联系,指模块内部各成分之间相互关联的程度,以高内聚为设计目标。耦合:也称块间联系,模块之间相互联系程度的度量,联系越紧密,耦合性越强,独立性越差,以低耦合为设计目标。
五、软件设计的基本原理:模块化、抽象、独立性、信息隐蔽
六、结构化程序设计的基本要点是什么?
1、采用自顶向下、逐步求精的程序设计方法2、使用三种基本控制结构构造程序。任何程序都可以由顺序、选择、重复(循环)三种基本控制结构构造,3.这三种基本结构的共同点是单入口、单出口。
七、软件工程三要素:过程、方法、工具三要素。方法支撑过程和工具,过程和工具又促进方法学的研究。
八、CMM全称是软件能力成熟度模型;从无序到有序的进化分成5个级别,分别为:1 初始级(工作无序,管理无章法,项目成功主要依靠项目负责人的经验和能力);2 可重复级(建立了基本的项目管理过程来跟踪成本、进度和功能特性。管理制度化,建立了基本的管理制度和规程,管理工作有章可循。 );3 已定义级(使用标准开发过程(或方法论)构建(或集成)系统);4 已管理级(产品和过程已建立了定量的质量目标。);5 优化级(量化反馈和先进的新思想、新技术促使过程不断改进)。
九、简述提高可维护性的方法:(1)建立明确的软件质量目标;(2)利用先进的软件开发技术和工具;(3)建立明确的质量保证工作;(4)选择可维护的程序设计语言;(5)改进程序文档。
十、软件危机:软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。⑴ 软件规模越来越大,结构越来越复杂。⑵ 软件开发管理困难而复杂。⑶ 软件包开发费用不断增加。⑷ 软件开发技术落后。⑸ 生产方式落后,仍采用手工方式。⑹ 开发工具落后,生产率提高缓慢。
十一、调试:进行了成功的测试之后才开始的工作。调试的目的是确定错误的原因和位置,并改正错误,归纳法、演绎法和回溯法
十二、数据字典、数据流图:
数据字典是关于数据的信息的集合,对数据流程图中的各个元素做完整的定义与说明,是数据流程图的补充工具。数据流图和数据字典共同构成系统的逻辑模型,没有数据字典数据流图就不严格,然而没有数据流图数据字典也难于发挥作用。 数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明
软件测试
常用用例设计方法
电梯,杯子,笔,桌子,洗衣机的测试用例
软件开发模型的使用场景
软件工程