1、a=10,b=15,在不用第三方变量的前提下,把a,b的值互换
方法一:
a=a+b;
b=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};用快速排序算法按降序对其进行排列,并返回数组!(快速排序是综合性能最好的内部排序算法!)
3、请简述面向对象的多态的特性及意义!
多态:面向对象的语言使用虚方法表达多态。这就意味着派生类可以有和父类具有同样签名的方法,并且父类可以调用派生类的方法。在C#中,必须使用virtual关键字才能使方法被父类调用。这使得一个对象在不同的环境中有不同的动作形态。
4、session喜欢丢值且占内存,Cookis不安全,请问用什么办法代替这两种原始的方法
答:用VIEWSTATE /Profile/自己在服务器端实现个Cache
5、对数据的并发采用什么办法进行处理较好。
答:可以控制连接池的连接数量,条件好的话 可以用负载平衡
6、列举ASP.NET 页面之间传递值的几种方式。
答:(1).使用QueryString, 如....?id=1; response. Redirect()
(2).使用Session变量
(3).使用Server.Transfer
(2).使用Session变量
(3).使用Server.Transfer
7、一列数的规则如下: 1、1、2、3、5、8、13、21、34...... 求第30位数是多少, 用递归算法实现。
public class MainClass
{
public static void Main()
{
Console.WriteLine(Foo(30));
}
public static int Foo(int i)
{
if (i <= 0)
return 0;
else if (i > 0 && i <= 2)
return 1;
else return Foo(i - 1) + Foo(i - 2);
}
}
{
public static void Main()
{
Console.WriteLine(Foo(30));
}
public static int Foo(int i)
{
if (i <= 0)
return 0;
else if (i > 0 && i <= 2)
return 1;
else return Foo(i - 1) + Foo(i - 2);
}
}