1.在数据库中,产生数据不一致的根本原因是?
答: 未对数据进行完整性控制
2.二维表(关系模式)中各范式之间的关系为?
答:
3.快速排序的基准是什么
答: 快速排序就是找到一个基准点S,比S大的放在一边,比S小的放在S的另一边
4.下面有关gpt磁盘和mbr磁盘的区别,说法错误的是?
答: MBR支持最大2TB磁盘,它无法处理大于2TB容量的磁盘
与主启动记录 (MBR) 分区方法相比,GPT 具有更多的优点,因为它允许每个磁盘有多达 128 个分区
GPT 分区磁盘有多余的主要及备份分区表来提高分区数据结构的完整性
GBT已经成为磁盘分区和启动的工业标准
mrb用于win平台
gpt主要用于mac(苹果),
MBR分区表与GPT分区表的关系
与支持最大卷为2 TB(Terabytes)并且每个磁盘最多有4个主分区(或3个主分区,1个扩展分区和无限制的逻辑驱动器)的MBR磁盘分区的样式相比,GPT磁盘分区样式支持最大卷为18 EB(Exabytes)并且每磁盘的分区数没有上限,只受到操作系统限制(由于分区表本身需要占用一定空间,最初规划硬盘分区时,留给分区表的空间决定了最多可以有多少个分区,IA-64版Windows限制最多有128个分区,这也是EFI标准规定的分区表的最小尺寸)。与MBR分区的磁盘不同,至关重要的平台操作数据位于分区,而不是位于非分区或隐藏扇区。另外,GPT分区磁盘有备份分区表来提高分区数据结构的完整性。
5.下面两个结构体
struct One{
double d;
char c;
int i;
}
struct Two{
char c;
double d;
int i;
}
在#pragma pack(4)和#pragma pack(8)的情况下,结构体的大小分别是
答:16,16;16,24
6.下面()组命令,将变量count值赋值为1
A DIM@count=1 count=1
B DECLARE @count SELECT @count=1
C DECLARE count SELECT count=1
D DIM @count SELECT @count=1
答:选第二个,
@表示声明一个局部变量,@@表示声明一个全局变量(比如已经定义好的系统变量)
申明局部变量语法:declare @变量名 数据类型;例如:declare @num int;
赋值:有两种方法式(@num为变量名,value为值)
set @num=value; 或 select @num=value;
7.虚拟设备的正确描述
A 虚拟设备与物理设备无关
B用户不知道,系统也不知道
C虚拟设备与物理设备有关
D用户不知道,系统知道
E由SPOOLING技术实现虚拟设备
答:选③④⑤
独享设备: 在一个用户作业未完成或退出之前,此设备不能分配给其他作业用。所有字符设备都是独享设备。如输入机、磁带机、打印机等。
虚拟设备: 通过软件技术将 独享设备 改造成共享设备。例如:通过 SPOOLing 技术将一台打印机虚拟成多台打印机。
8.已知中序遍历的序列为abcdef,高度最小的可能的二叉树的叶子是
A ace
B acf
C adf
D cdf
答: 选①②③
高度最小的二叉树是平衡二叉树,也就是c为根节点或者d为根节点
当c为根节点时,左子树的叶子节点可能是a或者b中的一个,右子树的叶子节点是d和f,可能是adf或者bdf
当d为根节点时,左子树的叶子节点可能是a和c,右子树的叶子节点是e或f中的一个,可能是ace或者acf
9.关于Linux系统的负载(Load),以下表述正确的是?
A 通过就绪和运行的进程数来反映
B可以通过TOP命令查看
C可以通过uptime查看
D Load:2.5,1.3,1.1表示系统的负载压力在逐渐减少
答:①②③,D三个数分别代表不同时间段的系统平均负载(一分钟、五分钟、以及十五分钟),它们的数字当然是越小越好。数字越高,说明服务器的负载越大,这也可能是服务器出现某种问题的信号。但是一分钟和五分钟的平均负载大于十五分钟的,不是负载在变小吧。D表示距离现在最近的1分钟,5分钟和15分钟内的负载,1.1 -> 1.3 -> 2.5 可见负载有增加的趋势。
10.Linux网关如何设计
答:option routers 192.168.1.1:网关IP设置
11.如果MyClass为一个类,执行”MyClass a[5], *b[6]”语言会自动调用该类构造函数的次数是?
答:5,MyClass a[5],会创建5个对象,所以会自动调用5次构造函数,但是MyClass *b[6],这不会自动调用构造函数,因为这是声明一个指向6个元素的数组的指针,指针声明的时候是不分配空间的,所以不会调用构造函数,没有指向一个有效的内存空间。
12。
sizeof(a)的值是()
答:22
首先,#pragma pack(2) 强制设定为2字节对齐
i 4字节
u 一个为13,一个为4,默认为4字节对齐;
union占对齐后数据的最大字节大小,默认为13+3=4*4=16;
但是,该处强制为2字节对齐,实际为13+1=2*7=14字节
color 枚举类型的实例 4字节
4+14+4=22字节
13.对于多关键字而言,哪种文件组织方便而又高效?
A 顺序文件
B倒排文件
C散列文件
D B+树索引文件
答:选第二个,多关键字文件的特点是,在对文件进行检索操作时,不仅仅对主关键词进行简单询问,还经常需要对次关键字进行其他类型的询问检索。常见的有多重表文件、倒排文件。
倒排文件(也称 倒排索引 ):用记录的非主属性值(也叫副键)来查找记录而组织的文件叫倒排文件,即次索引。倒排文件中包括了所有副键值,并列出了与之有关的所有记录主键值,主要用于复杂查询。
14.在下列说法中,哪个是错误的
A 若进程A和进程B在临界段上互斥,那么当进程A处于该临界段时,它不能被进程B中断
B虚拟存储管理中采用对换(swapping)策略后,用户进程可使用的存储空间似乎增加了
C虚拟存储管理中的抖动(thrashing)现象是指页面置换(page replacement)时用于换页的时间远多于执行程序的时间
D进程可以由程序、数据和进程控制块(PCB)描述
答:①③,我们将对共享内存进行访问的程序片段称为临界区域(critical region)或临界区,实现临界区互斥的方案如Peterson解法:本质思想当一个进程想进入临界区时,先检查是否允许进入,若不允许,就原地等待直到允许为止。
考虑一台计算机有两个优先级不同的进程,一个H的优先级较高,L较低,调度规则规定只要H处于就绪态就会运行,如果L处于临界区时H变为就绪态,比如刚刚结束了一个I/O操作,由于H就绪时L不会被调度,如果H采用了忙等待,由于L不被调度它将一直处于临界区,而H将一直等待下去,这也就是优先级反转的问题。
如果我们采用另一种策略,在一个进程不能进入临界区的时候将其挂起而不是进行忙等待,直到另一个进程将其wakeup,那么处于临界区的就不会被中断。
个人认为选项A没有介绍互斥的策略,所以是错的。
选项C:
任意时刻,由于程序局部性,往往在一个小的活动页面集合上工作,叫做工作集,如果工作集的大小超过了物理存储器的大小,那么程序将出现thrashing,页面将不断换进换出。
所以C的解释是不准确的。
15.下面有关函数模板和类模板的说法正确的有?
A 函数模板的实例化是由编译程序在处理函数调用时自动完成的
B类模板的实例化必须由程序员在程序中显式地指定
C函数模板针对仅参数类型不同的函数
D类模板针对仅数据成员和成员函数类型不同的类
答:全选