(1)什么事UML,分为哪两类?
答:统一建模语言(UML是 Unified Modeling Language的缩写)是用来对软件密集系统进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。
统一建模语言 (UML)是非专利的第三代建模和规约语言。 UML是在开发阶段,说明,可视化,构建和书写一个面向对象软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。
UML图分为两类:
静态图:是描述对象之间可能存在的关系的种类,以及作为结果的对象网络可以具有的可能的拓朴结构。
动态图:是描述可以在对象之间传递的消息以及该消息对接收消息的对象的影响。
(2)操作系统的进程调度策略?
答:FCFS(先来先服务),优先级,时间片轮转,多级反馈等。
(3)进程间的通讯方式?
答:
1. 消息传递
2. 同步
3. 共享内存区
4. 过程调用
(4)二叉树的前序,中序,后序遍历结果?
答:根据访问结点操作发生位置命名:
① NLR:前序遍历(PreorderTraversal亦称(先序遍历))
——访问结点的操作发生在遍历其左右子树之前。
② LNR:中序遍历(InorderTraversal)
——访问结点的操作发生在遍历其左右子树之中(间)。
③ LRN:后序遍历(PostorderTraversal)
——访问结点的操作发生在遍历其左右子树之后。
(5)通常递归所采用的数据结构,递归和非递归的区别?
答:递归函数的执行过程具有三个特点:1。函数名相同,2。不断地自调用,3。最后被调用的函数要最先被返回。
系统用于保存递归函数调用信息的堆栈叫“运行时栈”,每一层递归调用所需保存的信息构成运行时栈的一个记录。所以通常递归采用的数据结构是栈。
一般而言非递归算法更有效;但很多时候递归算法容易实现,编程简单。
(6)单链表逆序
答:暂无。
(7)什么是预编译,何时需要预编译?
答:预编译又称为预处理,是做些代码文本的替换工作。处理#开头的指令,比如拷贝#include包含的文件代码,#define宏定义的替换,条件编译等,就是为编译做的预备工作的阶段,主要处理#开始的预编译指。
(8)进程死锁的原因?
答:
1.因为系统资源不足。
2.进程运行推进的顺序不合适。
3.资源分配不当等。