《aspnet面试题四》 

1:a=10,b=15,在不用第三方变题的前提下,把a,b的值互换

1,a=10,b=15
a=a+b;
b=a-b;
a=a-b

2:已知数组int[] max={6,5,2,9,7,4,0};用快速排序算法按降序对其进行排列,并返回数组
答:
private int[] Order()
{
int[] maxArray={6,5,2,9,7,4,0};

int max = 0;
int[] result = new int[maxArray.Length];

for (int i=0;i<maxArray.Length;i++)
{
if (maxArray[I > max)
{
max = maxArray[I;
}
}
result[0] = max;

for (int j=1;j<maxArray.Length-1;j++)
{
max = getMaxNum(max,maxArray);
result[j] = max;
}

return result;
}

/// <summary>
/// 获取数组中最大的数
/// </summary>
/// <param name="compareNum"></param>
/// <param name="newArray"></param>
/// <returns></returns>
private int getMaxNum(int compareNum,int[] newArray)
{
int max = 0;
for (int i=0;i<newArray.Length;i++)
{
if (newArray[I >= max && compareNum> newArray[I)
{
max = newArray[I;
}
}
return max;
}
3:请简述面向对象的多态的特性及意义!
答:多态:1编译期多态,2运行期多态
1 :类属,重载
2 :重写+静态类型+动态类型
/提供了一种晚绑定的机制,相对于静态绑定(在编译器运行时,JMP指令在编译时直接跳转到函数的入口点),虚方法主要是根据实际类型来进行绑定,用ILDASM反汇编可以看出,主要根据call和callvert指令来判断,C++多态中是通过位置来查找的,如果一个控件定义80个虚方法,子类重写3个方法,方法表指针还将是80,这设计的思想是丑陋的,很多公司都采用了不同的方法。

4:session喜欢丢值且占内存,Cookis不安全,请问用什么办法代替这两种原始的方法
用VIEWSTATE   /Profile/自己在服务器端实现个Cache

5:对数据的并发采用什么办法进行处理较好。
答可以控制连接池的连接数量
条件好的话 可以用负载平衡

6:已知Oracle数据库有GD和ZS两个数据库,GD数据库v_s表有数据写入时,从v_s表中提取最新数据到ZS数据库的D_E表中。请问用什么办法解决这一问题?如果又碰到不能互访的问题时,又用什么办法解决?

7:已知Oracle数据库a,b
现在在a用户权限下,访问b数据库sql语句为select a.* From b a,请改正这一句Sql的写法

8:当对数据库进行海量级的数据插入时,数据库出现报错,错误原因可能有哪些,以你的经验谈谈你的解决办法

分割数据库

8.5如何删除重复记录?
DELETE FROM TABLE_NAME 
WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D 
WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2);