Chinaunix首页 | 论坛 | 博客
  • 博客访问: 451027
  • 博文数量: 108
  • 博客积分: 6030
  • 博客等级: 准将
  • 技术积分: 1330
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-13 00:10
文章分类

全部博文(108)

文章存档

2011年(3)

2010年(14)

2009年(5)

2008年(30)

2007年(56)

我的朋友

分类: LINUX

2008-08-27 17:06:56

() 数据库面试题
1
存储过程和函数的区别?
答:存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。

2
事务是什么?
答:事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:
原子性:事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。
一致性:事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。
隔离性:由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。
持久性:事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。

3
游标的作用?如何知道游标已经到了最后?
答:游标用于定位结果集的行,通过判断全局变量@@FETCH_STATUS可以判断是否到了最后,通常此变量不等于0表示出错或到了最后。

4
触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。
答:事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段值。
语句级触发器可以在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次。

(
) C语言面试题
以下试题,全部要求使用CC++语言完成。

1
找错
Void test1()
{
char string[10];
char* str1="0123456789";
strcpy (string, str1);
}
Void test2()
{
char string[10], str1[10];
for(I=0; I<10;I )
{
str1[i] ='a';
}
strcpy (string, str1);
}
Void test3 (char* str1)
{
char string[10];
if(strlen (str1)<=10)
{
strcpy (string, str1);
}
}

2
找错
#define MAX_SRM 256
DSN get_SRM_no()
{
static int SRM_no;
int I;
for(I=0;I{
SRM_no %= MAX_SRM;
if(MY_SRM.state==IDLE)
{
break;
}
}
if(I>=MAX_SRM)
return (NULL_SRM);
else
return SRM_no;
}

3
写出程序运行结果
int sum(int a)
{
auto int c=0;
static int b=3;
c =1;
b =2;
return(a b C);
}
void main()
{
int I;
int a=2;
for(I=0;I<5;I )
{
printf ("%d,", sum(a));
}
}

4

int func (int a)
{
int b;
switch (a)
{
case 1: 30;
case 2: 20;
case 3: 16;
default: 0
}
return b;
}
func (1)=?

5

int a[3];
a[0]=0; a[1]=1; a[2]=2;
int *p, *q;
p=a;
q=&a[2];
a[q-p]=?

6
定义 int **a[3][4], 则变量占有的内存空间为:
_____

7
论述含参数的宏与函数的优缺点。


8
编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的下一秒。如输入20041231235959秒,则输出200511000秒。

9
设计一个自然数数组,包含50个范围在(0200)的自然数,并从小到大排列,随机产生一个范围在(0200)自然数,去数组中用二分查找法查找,如果存在返回值并获取这个数在数组中的位置(第几个);如果不存在,返回假。
要求:

1)
编写初始化数组。并提供接口显示数组序号和内容;

2)
对数组排序,并提供接口显示数据需要和内容;

3)
随机产生自然数;

4)
用二分法查找随机数。

10
设计一个 VC++程序,当主窗口显示时,从窗口客户区的左上角向右上角缓慢下落一个小三角形,在下落过程中,小三角形做逆时针缓慢旋转,到达右下角时,正好以一条底边和客户区边框重合并停止。在改变窗口大小时,停止三角形的下落,重新从左上角开始下落。要求:在整个屏幕上只能有一个三角形在移动。

11
设计一个窗口A,在此窗口内按快捷键F1,弹出另外的窗口B,在B弹出后,两个窗口要左右并排显示,并撑满整个屏幕;用鼠标拖动两个窗口相邻的边,两个窗口的大小同
时改变,且相对位置不变。再按F1,窗口B隐藏,窗口A最大化,如此重复。

12
设计一个VC++程序,将当前局域网上每台机器(相同的子网掩码)的共享文件夹列表显示出来。假定操作者有必要的权限。要求:

1)
用树型控件控制每台电脑;

2)
点击共享文件夹,显示文件夹的权属性,例如:只读,完全控制等。

世界最佳公司面试题部分题目解答要点
学会巧妙地回答面试官提出的各种刁难的、暗藏杀机的问题;学会各种面试题的高
超的推理办法和技巧;了解面试成功的秘诀和技巧;了解自己的性格、气质、兴趣,找
到适合自己的职业;正确规划自己的人生,找到通向职业成功的道路。

阅读(1290) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~