asp.net 面试 笔试题目[附答案]

  一名入门的asp.net程序员应该掌握的知识:

  (1)熟练使用Sql Server中企业管理器、查询分析器和事件探查器,能熟练编写T-SQL、存储过程、用户自定义函数、视图、触发器;

  (2)了解ASP.net服务器控件的生命周期;

  (3)熟练掌握HTML,CSS,javascript,xml,Web Service,AJAX;

  (4)掌握多层结构以及类的设计方法;

  (5)了解网站安全漏洞相关方面以及优化技巧;

  1、可以使用抽象函数重写基类中的虚函数吗?

  答:可以,需使用new修饰符显式声明,表示隐藏了基类中该函数的实现。

  

复制代码 代码如下:

  class BaseClass

  {

  public virtual void A()

  {

  HttpContext.Current.Response.Write("阿会楠");

  }

  }

  abstract class dClass : BaseClass

  {

  public new abstract void A();

  }

  2、接口可以包含哪些成员?

  答:接口可以包含属性、方法、索引指示器和事件,但不能包含常量、域、操作符、构造函数和析构函

  数,而且也不能包含任何静态成员。

  3、如何把一个array复制到arrayList里。

  

复制代码 代码如下:

  string[] arrA = new string[]{"阿","会","楠"};

  ArrayList arrB = new ArrayList();

  foreach(string a in arrA)

  {

  arrB.Add(a);

  }

  foreach (string b in arrB)

  {

  Response.Write(b);

  }

  4、概述三层结构体系。

  答:主要包括界面层,业务逻辑层,数据访问层。

  5、StringBuilder和String的区别。

  答:使用String类,在赋值时会产生一个新的对象,而StringBuilder不会,所以在大量字符串拼接或频

  繁对某一字符串进行操作时最好使用StringBuilder。

  6、什么是虚函数?什么是抽象函数?

  答:

  虚函数:没有实现的,可以由子类继承并重写的函数。

  抽象函数:规定其非虚子类必须实现的函数,必须被重写。

  7、什么是Web Service?

  答:Web Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些

  规范使得Web Service能与其他兼容的组件进行互操作。

  8、ADO.net常用对象有哪些?

  答:

  Connection:数据库连接对象

  Command:数据库命令

  DataReader:数据阅读器

  DataSet:数据集

  9、委托声明的关键字是?

  答:delegate

  10、在ASP.net中所有的自定义用户控件都必须继承自?

  答:Control类

  11、在.net托管代码总我们不必担心内存泄漏,这是因为有了?

  答:GC 垃圾收集器。

  12、&和&&的区别?

  答:&是位运算符,表示按位运算;&&是逻辑运算符,表示逻辑与。

  13、覆盖与重载的区别?

  答:

  覆盖:采用override声明,参数列表必须相同。

  重载:不需要特别声明,只要参数列表不同(个数不同或类型不同)。

  14、ASP.NET页面传值的几种方式?

  答:

  1、使用Request.QueryString或Request.Form。

  2、使用Session,Cookies,Application。

  3、使用Server.Transfer。

  4、使用PostBackUrl传递。

  15、什么叫装箱和拆箱?

  答:从值类型转换到引用类型叫装箱,反之称为拆箱。

  16、接口是否可以继承接口?

  答:可以。

  17、是否可以继承String类。

  答:String类是final类故不可以继承。

  18、简述private、protected、public、internal修饰符的访问权限。

  答:

  private:私有的,类内部。

  protected:受保护的,类内部和继承类中可以访问。

  public:无限制

  internal:在同一命名空间内可以访问

  19、下面这段代码输出什么?为什么?

  

  int i=5;

  int j=5;

  if (Object.ReferenceEquals(i,j))

  Console.WriteLine("Equal");

  else

  Console.WriteLine("Not Equal");

  答:不相等,因为比较的是对象

  20、什么是ASP.NET中的用户控件。

  答:ASP.NET中用户控件很关键一点是要区别于自定义控件。用户控件说白了其实就像是asp中的

  include,只是功能更加强大。用户控件易于创建但易用性差,自定义控件难创建,但易用性好。

  21、什么是强类型系统?

  答:RTTI:类型识别系统

  22、写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。

  答:select top 10 * from [A] where ID not in (select top 30 from A)

  23、谈谈final、finally的区别。

  答:

  final:不能作为父类被继承。一个类不能声明是final,又声明为abstract。

  finally:用于try{}catch{}finally{}结构,用于异常处理时执行任何清除操作。

  24、ASP.NET与ASP相比,有哪些进步。

  答:

  ASP.NET编译型,面向对象编程语言,代码与界面分离。

  ASP解释型,脚本语言。

  25、如何让时间去秒显示?

  答:

  C#

  

复制代码 代码如下:

  DateTime.Now.ToString("yyyy-M-d h:m")

  原来这里写的是:

  

复制代码 代码如下:

  DateTime.ToString("yyyy-M-d h:m")

  网上也很多写的是这种写法,是错误的。今天看到,改了过来。