.net面试题14

来源:互联网 发布:ncbi sra 数据库上传 编辑:程序博客网 时间:2024/04/19 10:25

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

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

3:请简述面向对象的多态的特性及意义!

4:session喜欢丢值且占内存,Cookis不安全,请问用什么办法代替这两种原始的方法

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

9:算法分析
AH 20060625 12 44 01 CAD001
AH 20060625 12 44 01 CAD001
AH 20060625 13 44 02 CAD001
AH 20060625 14 44 03 CAD001
说明:第二列表示日期,第三列表示温度,第四列表示水位,第五列表示流量,第6列表示水位测站编码,每一列表示一个字段
很明显第一条数据和第二条数据重复,然数据表中有主键和外键的约束,是不允许有重复的数据存在的,请构造算法将重复的数据Del掉

10:javascript算法
已知a,b,现在点鼠标a会向b游动,鼠标停,a会停下来
请实现"跑步算法"

答案:
1。
a=a+b;
b=a-b;
a=a-b;
据说还可以这样:a^=b^(b^=a^b); 不了解是什么原理

2。
public class TestQuickSort {

private int[] array = null;

private void quickSort(int lowest, int highest) {
if (array == null || lowest < 0 || lowest >= highest
|| highest >= array.length) {
return;
}
int low = lowest;
int high = highest;
int key = low++;
for (; low <= high;) {
if (key < high) {
if (array[key] > array[high]) {
array[high] = array[key] + (array[key] = array[high]) * 0;
key = high;
}
high--;
}

if (key > low) {
if (array[key] < array[low]) {
array[low] = array[key] + (array[key] = array[low]) * 0;
key = low;
}
low++;
}
}
quickSort(lowest, key - 1);
quickSort(key + 1, highest);
}

/**
* @param args
*/
public static void main(String[] args) {
TestQuickSort test = new TestQuickSort();
int[] array = {6,5,2,9,7,4,0};
test.array = array;
test.quickSort(0, array.length - 1);
int length = test.array.length;
for (int i = 0; i < length; i++) {
System.out.println(test.array[i]);
}
}
}
快速排序是综合性能最好的内部排序算法!

3。多态:面向对象的语言使用虚方法表达多态。这就意味着派生类可以有和父类具有同样签名的方法,并且父类可以调用派生类的方法。在C#中,必须使用virtual关键字才能使方法被父类调用。这使得一个对象在不同的环境中有不同的动作形态。

4。用VIEWSTATE /Profile/自己在服务器端实现个Cache

5。答可以控制连接池的连接数量
条件好的话 可以用负载平衡

6。7、Oracle数据库的不懂

8。分割数据库

9。
alter table 表 add ID int identity(1,1)
delete 表
where newfield not in
(
select top 1 ID from 表 group by 日期,温度,水位,流量,水位测站编码
)
alter table 表 drop column ID

10。不会 

一、月薪上万的net开发人员问题:
有一队伍长100米,匀速前进,传令兵以匀速从队首运动到队尾然后返回队首,其间队伍前进了100米,问传令兵运动的距离。
假设总共花了100秒, 队伍的速度则为1; V为传令兵速度, 传令兵到队尾的距离为S。
则总共走 100 M + 2 * S。
---------------------------
传令兵走S,则此时部队走100-S;传令兵到尾部。
往前走,路程为100+S,而部队刚才走了100-S,则此时当走100-(100-S) = S
时间相同。
则有
S / (100+S )= (100-S) /S
=> S^2 = 10000 -S^2
=> S^2 = 5000;
=> S = 70.71067811865475244008443621049
=>CLOSE
开方函数在Math命名空间里有。
也可自己迭代出来。


二、月薪5万,微软中国研究院最新面试题,
小明和小强都是张老师的学生,张老师的生日是M月N日,
2人都知道张老师的生日是下列10组中的一天,
张老师把M值告诉了小明,把N值告诉了小强,
张老师问他们知道他的生日是那一天吗?
3月4日 3月5日 3月8日
6月4日 6月7日
9月1日 9月5日
12月1日 12月2日 12月8日
小明说:如果我不知道的话,小强肯定也不知道
小强说:本来我也不知道,但是现在我知道了
小明说:哦,那我也知道了
请根据以上对话推断出张老师的生日是哪一天

原创粉丝点击