笔试题

1. int x=50,y=33;

printf("%d",(x,y));

结果:33


2.对1000w的数据做索引,哪种数据结构适合做存储索引?

A。hashtable

B。AVL-tree

C。list

D。B-tree

答案:D。

AVL-Tree 检索速度是很快的,这是因为二分检索是树结构的一个本质特性。但是最大的缺点是他的存储利用率太低。每个树节点仅仅有一个数据项,有2个指针和每个数据项的控制信息。
1000W数据量根大,AVL-Tree存储利用率太低,也很难找到一个完美的hash函数。list就不用说了,每次插入删除操作可能移动几百万数据。
Hash Table当溢出发生时可以分裂成2个节点。目录以2的指数倍增长,只要一个节点溢出而且目录已经达到了指定的最大目录深度,他就会加倍。一个问题就是任何一个节点都能引起目录分裂,因此如果Hash函数不是很随机的话,目录可能增长的很大。List优点是存取方便,但不便于动态维护,进行插入删除等操作时需要移动大量的数据。B-tree是比较合适用于磁盘的数据结构,由于他是一个宽而浅的树,查找一个数需要访问很少的节点。内存利用率是比较好的,所以他用于内存数据库比较合适;搜索速度比较快(用二分查找时,只访问很少一部分节点);而且更新速度也比较快(数据移动通常只涉及到一个节点)

3.SQL中局部变量需要声明,全局变量是系统提供的,不需要声明。

例子:

局部变量:

declare @count int

set @count 123

print @count

全局变量:

@@ERROR 最后一个T-SQL错误的错误号


4.数组定义语句char cname[256]={1};这个数组的实际初始值是:

第一个为1后面为0


5.进程调度从就绪队列选择一个进程投入运行。


6.

以下不属于linux交换分区作用的是:
a存放临时文件b完成虚拟内存
c用磁盘空间模拟硬盘空间d允许应用程序使用多于实际内存的存储容量
选c.磁盘空间模拟硬盘空间,笑话。可能争议会来自a选项,其实这恰恰是Linux的交换分区不同于windows虚拟内存的地方,linux交换分区不仅仅是存放内存里不常用的页,充当虚拟内存,还能够存放linux运行时要用的临时文件,一旦关机就会清空,不会像windows那样在磁盘里留下碎片,这是linux的纯净之处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值