.net面试题及答案(一)

本文源自:http://www.cnblogs.com/tuyile006/archive/2007/03/20/681154.html

自己进行整理,并加了一些修改,当然里面可能有错误,希望大家看到能讲讲,一起互动一下

1:a=10,b=15,在不用第三方变量的前提下,把a,b的值互换
答:第一种加法原理:a=a+b;
                 b=a-b;
       a=a-b;

第二种乘法原理:和加法原理差不多,但是不是很常用,因为要涉及到数字为零的情况,减一尽量不要使用这种方法

第三种位运算:a^=b^(b^=a^b);
2:已知数组int[] max={6,5,2,9,7,4,0};用快速排序算法按降序对其进行排列,并返回数组

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


5:对数据的并发采用什么办法进行处理较好。
答:对数据库的数据同时并发访问可能会导致磁盘IO排队,锁竹访问资源等导致访问速度下降的现象,解决办法可以有

  1、允许的情况下降低事务的隔离级别。

  2、多CPU支持并发访问的的主机  例如AIX等,可以用prarell 并发度的访问hint来提高cpu对IO的访问效率。

  3、表空间做切分,当发现多张表位于某个表空间同时大量并发导致io排队的情况,可以考虑将这些表重该表空间分离出来,到新建的表空间中。有条件的情况下,可以将新建的表空  间放到不同的磁盘上。这样可解决单个磁盘IO负荷过重的情况。


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

答:只回答第一个问题,第二个问题我也不知道怎么回答:
  1、在GD中建立对 ZS的远程链接,具体语法是:CREATE DATABASE LINK pm_syno CONNECT TO pmexp IDENTIFED BY pmexp USING syno 。
  2、在v_s表中建立insert触发器,触发器将新数据写入 D_E@databaselinke 中。

7:已知Oracle数据库a,b
现在在a用户权限下,访问b数据库sql语句为select a.* From b a,请改正这一句Sql的写法
答:在a用户有对b数据访问权限的前提下,在a登录的环境下可用以下语句访问b库的表: select b.tablename.* from b.tablename


8:当对数据库进行海量级的数据插入时,数据库出现报错,错误原因可能有哪些,以你的经验谈谈你的解决办法
答:1、待导入的数据中某些数据不符合数据库表的规格,如check,constrains,not null等条件不能满足,导致数据无法插入到表中。
  解决办法:对待导入数据进行预处理,检查数据是否符合导入的规格。
  2、数据有完全重复的数据,两条记录完全相同,导致无法入库。
  解决办法:预处理数据,把这样的数据检查出来保留一条。
  3、数据量过大,导致表空间耗尽,如果表空间设置成非自动增长模式,此时导入会自动退出。
  解决办法:确保导入的表空间够大。
  4、导入时多用户访问数据库的导入表资源,可能会有死锁把表锁住导致无法导入。
  解决办法:海量导入的时间都比较长,可能情况下,应该用单用户模式导入。如果不能满足该条件,就请其他用户暂时不要访问待导入的表。
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会停下来
请实现"跑步算法"

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>JavaScript</title>
<style>
html
{
background-color:silver;
}
.point1
{
position:absolute;
left:10px;
top:40px;

}
.point2
{
position:absolute;
left:100px;
top:40px;
}
.hr1
{
position:absolute;
top:60px;
}
</style>
<script type="text/JavaScript">
document.onmousedown = mousedown;
document.onmouseup = mouseup;
var intervalProcess;
var direct = true;
function mousedown(){
intervalProcess = setInterval("MovePoint()", 1);
}
function mouseup(){
clearInterval(intervalProcess);
}
function MovePoint(){
with (document.getElementById("point1").style){
if (isNaN(parseInt(left)))
left = "10px";
else {
document.getElementById("point2").style.left = "200px";
if (parseInt(left) < 0)
direct = true;
if (parseInt(left) > parseInt(document.getElementById("point2").style.left))
direct = false;
if (direct)
left = parseInt(left) + 1 + "px";
else
left = parseInt(left) - 1 + "px";
}
}
}
</script>
</head>
<body>
<div class="point1" id="point1"><font color=blue>a</font></div>
<div class="point2" id="point2"><font color=red>b</font></div>
<hr class="hr1" />
</body>
</html>

转载于:https://www.cnblogs.com/wyyLick/archive/2011/10/27/2226365.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值