日期:2014-05-20  浏览次数:20814 次

[收集]Asp.net 面试题
详细些

基础 中级 高级 都可以。

设计也好 算法也好 大侠们可都发上来。

变态的也可以。

给连接的不妨去复制几道问题和答案。

很是期待.NET版各路英雄补充。




------解决方案--------------------
路过!
-----------------------------------------------------
签名测试!
百度

-----------------------------------------------------
此消息通过 【CSDN论坛 Winform正式版】 回复!有关此工具
------解决方案--------------------
1. 简单描述ASP.NET的生命周期.
2. HttpModule和HttpHandler有什么作用?他们的区别是什么?
3. 举例说明泛型的优点.
4. 接口和抽象类有什么区别?抽象类能实现接口吗?
5. 设计一个多线程下发生死锁的例子。
6. 接口的隐式实现和显示实现有什么区别?
7. 你在设计数据层的时候是如何避免SQL注入的?
8. 一般的类能继承一个泛型类么?
9. JavaScript中怎么实现继承?请列出三种方法。
10. 请问网页的表布局和流布局有什么区别?
...............

------解决方案--------------------

------解决方案--------------------
1..net中自定义控件

2.写一个委托的例子

3.多线程在什么时候用比较合适,举例

4.无限级树怎么设计数据库,怎么在后台写代码,怎么在页面显示

5.在超过10万条记录的页面显示时,你如何处理分页,有多少种替代方案? 
。。。。
------解决方案--------------------
1. 简述 private、 protected、 public、 internal 修饰符的访问权限。 
 
答 . private : 私有成员, 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以访问。
public : 公共成员,完全公开,没有访问限制。
internal: 在同一命名空间内可以访问。


2 .列举asp.net 页面之间传递值的几种方式。
 
答.
 1.使用querystring, 如....?id=1; response. redirect()....
2.使用session变量
3.使用server.transfer


3. 一列数的规则如下: 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);
}
}


4.c#中的委托是什么?事件是不是一种委托?

答 :
委托可以把一个方法作为参数代入另一个方法。
委托可以理解为指向一个函数的引用。
是,是一种特殊的委托


5.override与重载的区别

答 :
override 与重载的区别。重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要 override 是进行基类中函数的重写。为了适应需要。


6.如果在一个b/s结构的系统中需要传递变量值,但是又不能使用session、cookie、application,您有几种方法进行处理?
 
答 :
this.server.transfer


7.请编程遍历页面上所有textbox控件并给它赋值为string.empty?

答: 
foreach (system.windows.forms.control control in this.controls)
  
{
  
if (control is system.windows.forms.textbox)
  
{
  
system.windows.forms.textbox tb = (system.windows.forms.textbox)control ;
  
tb.text = string.empty ;
  
}
  
}


8.请编程实现一个冒泡排序算法?
  
答:
int [] array = new int
;
int temp = 0 ;
for (int i = 0 ; i < array.length - 1 ; i++)
{
for (int j = i + 1 ; j < array.length ; j++)
{
if (array[j] < array[i])
{
temp = array[i] ;
array[i] = array[j] ;
array[j] = temp ;
  
}
  
}
  
}


9.描述一下c#中索引器的实现过程,是否只能根据数字进行索引?
  
答:不是。可以用任意类型。


10.求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+……+m
  
答:
  
int num = this.textbox1.text.tostring() ;
  
int sum = 0 ;
  
for (int i = 0 ; i < num + 1 ; i++)
  
{
  
if((i%2) == 1)