另一道基础测试题目
数据库:
初级:
选择题:
下列聚合函数中不忽略空值 (null) 的是 【 C 】
A、SUM (列名) B、MAX (列名) C、COUNT ( * ) D、AVG (列名)
SQL中,下列涉及空值的操作,不正确的是 【 C 】
A、AGE IS NULL B、AGE IS NOT NULL C、AGE = NULL D、NOT (AGE IS NULL)
在视图上不能完成的操作是【 C 】
A、更新视图 B、查询 C、在视图上定义新的基本表 D、在视图上定义新视图
在基本SQL语言中,不可以实现【 D 】
A、定义视图 B、定义基表 C、查询视图和基表 D、并发控制
SQL的集合处理方式与宿主语言的单记录处理方式之间的协调用_______机制实现。
答案:游标
SQL-SELECT语句完整的句法中,FROM子句是强制性的,FROM子句的作用是_________。
答案:读取FROM子句中的基本表、视图的数据,执行笛卡积操作
可以在嵌入式SQL中使用宿主语言的程序变量,这种变量称为_________。
答案:共享变量
DB并发操作通常会带来三类问题,它们是丢失更新、读脏数据、和____________。
答案:不一致问题
事务必须具有的四个性质是:原子性、一致性、_______________和持久性。
答案:隔离性
描述关系数据库结构(包括表、索引、约束)的术语是__________。
答案:数据库模式
游标的作用是_________。
答案:结果集中记录定位。
DSN含义是________。
答案:数据源名称。
从关系规范化理论的角度讲,一个只满足1NF的关系可能存在的四方面问题是:数据冗余度大、修改异常、插入异常和______。
答案:删除异常
引用完整性约束的作用是_________。
答案:避免数据不一致。
中级:
当符合Customers.CustNumber=3条件的记录有4条,Orders中有5条记录,下面的语句会返回________记录:
SELECT Customers.* FROM Customers, Orders WHERE Customers.CustNumber=3
答案:15。
把下面用关系表示的实体、实体与实体之间的联系,用E-R图表示出来,要求在图 中表示联系的类型(1:1、 1:n、 m:n)。
实体1:学生(学号,姓名,性别,年龄) 关键字为:学号
实体2:课程(课程号,课程名,学分数) 关键字为:课程号
实体1与实体2的联系: 学习(学号,课程号,成绩) 关键字为:学号+课程号
注:一个学生可以选多门课程,一门课程也可以被多个学生选,学生选课后有成绩。
ANSI/ISO SQL92标准定义的四个数据库操作隔离级别包括未提交读(read uncommitted)、提交读(read committed)、____________、串行化(serializable)。
答案:重复读(repeatable read)。
高级:
在Oracle上根据错误码产看错误信息的命令是______, 在DB2上这个命令是_______。
答案:oerr, DB2 ?SQLcode
DB2上查询BUFFERPOOLS状况的语句是_______________?
答案:select * from sysibm.SYSBUFFERPOOLS
描述一下你所知道的Oracle数据库存储字符集、客户端字符集方面的知识。
C语言问题:
初级:
如何做才能使C++类变成抽象基类?
答案:将其中的成员函数定义成=0。
windows上线程间常用的同步对象包括semaphore、mutex、critical section,其中性能最高的是___________。
答案:critical section。
LINUX上, 编辑器vi中, 移动到第200行的命令是_______,删行命令是____。
答案:200G, dd
LINUX上, 命令set -o vi的作用是_____________。
答案:设置用vi编辑命令行
LINUX编程上,_______函数用来创建共享内存,_______用来创建消息队列。
答案:shmget()、msgget()
猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第十天早上想再吃时,见只剩下一个桃子了。编一个程序,计算第一天共摘下多少桃子。
答案:
main()
{
int day = 9, x1, x2 = 1;
while (day > 0)
{
x1 = (x2+1)*2;
x2 = x1;
day --;
}
printf(“桃子总数= %d/n”, x1);
}
中级:
在windows 2000服务器版上,我们用VC++6.0开发多线程程序,缺省的栈尺寸是________KB,基于此项配置,一个进程理论上最多能创建_______个线程。
答案:1000, 2000
socket通讯过程包括_____个阶段,共9个分节。
答案:三个阶段
CMMI的5个级别依次是初始级、管理级、________、量化管理级、优化级。
答案:定义级。
高级
windows上编程,下列这段汇编代码执行完之后,eax寄存器值与______寄存器的值相等。
__asm
{
call dummy
dummy:
pop eax
}
答案:EIP寄存器。
在客户处的windows 2003企业版上, 一个用VC++6.0写的,客户处没有源代码的,release版的可执行程序,运行时发生了崩溃,屏幕上打出了一个红框,提示是否调试,详细说明这种情况下,如何快速找到BUG?
在windows 2000/2003,有一个用VC++6.0的release版的win32动态库,在动态库中有一个导出函数,该函数返回了一个指针,函数内部执行了malloc分配内存的操作,并把分配到的内存指针作为返回值返回给调用者,请问,这时调用者该如何释放这个指针才不会出错?