.NET面试题

1. abstract class interface 的区别 ?

  abstract class 是抽象类。它声明了方法,而且可以有属性,但它的方法不实现,主要创建一个体现基本行为的类。不能创建类的实例。它的子类来实现它的方法,若子类也没有实现,那么这个子类也是抽象类。

  interface 是接口,在接口中所有的方法都是抽象的一个类可以继承多个接口 接口中不能有属性

2。 <%#    %> <%     %> 有什么区别?

   <%#   %> 表示绑定的数据源

    <%     %> 是服务器端代码块

3. & && 的区别?

   & 是位运算符 , && 是逻辑运算符 (and)

4. C# 可否对内存进行直接的操作 ?

   不能 ,C# 有垃圾回收功能 , 不能直接操作内存 , 但是可以调用基类的 Finalize() 方法。

5. 62-63=1 等式不成立,请移动一个数字(不可以移动减号和等于号),使得等式成立,如何移动?

   62 变成 2 6 次方。

6. .net C# or vb.net )中, Appplication.Exit 还是 Form.Close 有什么不同

   Appplication.Exit 是退出整个程序 , Form.Close 是关闭 Form

7. .Net 托管代码中我们不用担心内存漏洞,这是因为有了 ______

   GC(垃圾回收器)。

8. .Net 中所有可序列化的类都被标记为 _____

    [serializable]。

9. sealed 修饰的类有什么特点?

   密封的 , 不能继承

10. 委托声明的关键字是 ______?

      delegate。

11.float f=-123.567F; int i=(int)f;i 的值现在是 _____?

    -123

12.public static const int A=1; 这段代码有错误么?是什么?

    const 不能有 static 修饰。

13. 当整数 a 赋值给一个 object 对象时,整数 a 将会被?

     装箱。

14.c# 中的三元运算符是?

    ?:。

15.ADO.net 中常用的对象有哪些?分别描述一下。

    Connection 数据库连接对象

    Command 数据库命令

    DataReader 数据读取器

    DataSet 数据集

16. 什么是虚函数?什么是抽象函数 ?

      虚函数 : 没有实现的 , 可有子类继承或重写。 抽象函数 : 其非虚子类必须重写函数。

17. 下面这段代码输出什么?为什么?

     int i=5;

     int j=5;

     if (Object.ReferenceEquals(i,j))

     Console.WriteLine("Equal");

     else

     Console.WriteLine("Not Equal")

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

18. c# using new 这两个关键字有什么意义,请写出你所知道的意义?

      new 创建实例 ,new 隐藏基类中方法 ,using 引入命名空间或者使用非托管资源。

19. 软件开发过程一般有几个阶段?

     需求分析,架构设计,代码编写

20.DataReader Dataset 有什么区别 ?

     DataReader 只能向前读 , Dataset 是建立一个内存中的表。

21. 向服务器发送请求有几种方式?

     get,post。

22. 请说明在 .net 中常用的几种页面间传递参数的方法,并说出他们的优缺点。

     session(viewstate): 简单,但易丢失

     application: 全局

     cookie: 简单 , 但可能不支持 , 可能被伪造

23.ASP.NET ASP 相比,主要有哪些进步 ?

     asp 解释形 ,aspx 编译型 ,asp.net 有更多的类。

24.String s = new String("xyz"); 创建了几个 String Object?

     两个对象 . 一个是是 xyz, 一个是指向 xyz 引用的 s。

25.GC 是什么 ? 为什么要有 GC?

     GC 是垃圾回收器。 因为有了 GC 就省去了程序员手工编码释放内存。

26. 能用 foreach 遍历访问的对象需要实现 ________________ 接口或声明 ________________ 方法的类型。

   IEnumerable GetEnumerator。

27. 面向对象的语言具有 ________ 性、 _________ 性、 ________

     封装、继承、多态。

28. C #中, string str = null string str = “” 请尽量使用文字或图象说明其中的区别

   string str = null 是不给他分配内存空间 , string str = "" 给它分配长度为空字符串的内存空间。

29.net 中读写数据库需要用到那些类 ? 他们的作用 ?

     DataSet: 数据存储器。

     DataCommand: 执行语句命令。

     DataAdapter: 数据的集合,用语填充。

30. 什么是装箱和拆箱?

     从值类型转换到引用类型装箱 ( 可隐式转换 ), 从引用类型转换到值类型拆箱。

31.CTS CLS CLR 分别作何解释 ?

     CTS :通用语言系统。 CLS :通用语言规范。 CLR :公共语言运行库。

32. .net B/S 结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?

   一般为 3

   数据访问层,业务层,表示层。

   数据访问层:对数据库进行增删查改。

   业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等。

   表示层:为了与用户交互例如用户添加表单。

   优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。

   缺点: 增加成本。

33. 描述一下 C# 中索引器的实现过程,是否只能根据数字进行索引 ?

     定义一个索引器必须使用 this 关键字 , this[index]。 可以是任意类型索引。

34.override 与重载的区别

     重载是方法的名称相同 , 参数或参数类型不同。 Override 是进行基类中函数的重写。

35.C# 中的委托是什么?事件是不是一种委托?

     委托可以把一个方法作为参数代入另一个方法 . 委托可以理解为指向一个函数的引用。

   事件是 一种特殊的委托。

36. 简述 private protected public internal 修饰符的访问权限

     private : 私有成员 , 在类的内部才可以访问。

     protected : 保护成员,该类内部和继承类中可以访问。

     public : 公共成员,完全公开,没有访问限制。

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

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

       }  

}

38. 请编程遍历页面上所有 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 ;

       }

    }

40. 在下面的例子里

   using System;

   class A

   {

     public A()

     {

      PrintFields();

     }

      public virtual void PrintFields(){}

   }

   class B:A

   {

   int x=1;

   int y;

   public B()

   {

   y=-1;

   }

   public override void PrintFields()

   {

   Console.WriteLine("x={0},y={1}",x,y);

   }

  当使用 new B() 创建 B 的实例时,产生什么输出?

答:x=1,y=0。

41.SQLSERVER 服务器中,给定表 table1 中有两个字段 ID LastUpdateDate ID 表示更新的事务号, LastUpdateDate 表示更新时的服务器时间,请使用一句 SQL 语句获得最后更新的事务号

   select   ID from table1 order by LastUpdateData desc

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

     select top 10 * from A where id not in (select top 30 id from A)

43. 接口是否可继承接口 ? 抽象类是否可实现 (implements) 接口 ? 抽象类是否可继承实体类 (concrete class)?

    接口可以继承接口。抽象类可以实现 (implements) 接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。

44. 构造器 Constructor 是否可被 override?

     构造器 Constructor 不能被继承,因此不能重写 Overriding ,但可以被重载 Overloading。

45. 是否可以继承 String ?

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

46.List, Set, Map 是否继承自 Collection 接口 ?

     List,Set 是。 Map 不是。

47. 数组有没有 length() 这个方法 ? String 有没有 length() 这个方法?

     没有 , 有这个属性。 String 有这个方法。

48.sleep() wait() 有什么区别 ?

     sleep() 方法是使线程停止一段时间的方法。在 sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非 (a) “醒来”的线程具有更高的优先级

(b) 正在运行的线程因为其它原因而阻塞。

wait() 是线程交互时,如果线程对一个同步对象 x 发出一个 wait() 调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。

49.short s1 = 1; s1 = s1 + 1; 有什么错 ? short s1 = 1; s1 += 1; 有什么错 ?

     short s1 = 1; s1 = s1 + 1; 有错, s1 short 型, s1+1 int , 不能显式转化为 short 型。可修改为 s1 =(short)(s1 + 1) short s1 = 1; s1 += 1 正确。

50.Session 有什么重大 BUG ,微软提出了什么方法加以解决?

     iis 中由于有进程回收机制,系统繁忙的话 Session 会丢失,可以用 Sate server SQL Server 数据库的方式存储 Session 不过这种方式比较慢,而且无法捕获 Session END 事件。

51. 进程和线程的区别?

     进程是系统进行资源分配和调度的单位;线程是 CPU 调度和分派的单位,一个进程可以有多个线程,这些线程共享这个进程的资源。

52. 产生一个 int 数组,长度为 100 ,并向其中随机插入 1-100 ,并且不能重复。

     int[] intArr=new int[100];

    ArrayList myList=new ArrayList();

    Random rnd=new Random();

    while(myList.Count<100)

    {

       int num=rnd.Next(1,101);

          if(!myList.Contains(num))

               myList.Add(num);

    }

    for(int i=0;i<100;i++)

    intArr[i]=(int)myList[i];

53. 下面的代码中有什么错误吗? _______

      using System;

      class A

      {

            public virtual void F()

           {

                   Console.WriteLine("A.F");

           }

       }

     abstract class B:A

     {

             public abstract override void F(); 

    }

  abstract override 是不可以一起修饰。

54. 下面这段代码有错误么?

     switch (i)

    {

       case(): 答: //case() 条件不能为空

      CaseZero();

      break;

      case 1:

      CaseOne();

      break;

      case 2:

      dufault;          // 格式不正确,应写成default:

      CaseTwo();

      break;

    }

55. .Net 中,类 System.Web.UI.Page 可以被继承么?

     可以。

56. .net C# or vb.net )中如何取消一个窗体的关闭

     e.Cancel=true。

57. Asp.net 中所有的自定义用户控件都必须继承自 ________.

      Control。

58. 什么是 code-Behind 技术?

   代码分离。 HTML 代码写在前台 ,C# 代码写在后台

59. 装箱与拆箱操作是否是互逆的操作?

  不是互逆的操作。

60. 哪个是可以变长的数组?

   ArrayList

61. 用户自定义异常类需要从以下哪个类继承?

   Exception

62 .Net 依赖以下哪项技术实现跨语言互用性?

  CLS

63. 以下哪个类是 int 的基类? B   )

    A.Int32              B.Object          C.ValueType            D.Int16

64. 下列描述错误的是( d

a) 类不可以多重继承而接口可以;

b) 抽象类自身可以定义成员而接口不可以;

c) 抽象类和接口都不能被实例化;

d) 一个类可以有多个基类和多个基接口

65. 下列关于构造函数的描述正确的是( c

a) 构造函数可以声明返回类型。

b) 构造函数不可以用 private 修饰

c) 构造函数必须与类名相同

d) 构造函数不能带参数

66. 以下是一些 C# 中的枚举型的定义,其中错误的用法有( d

a)public enum var1{ Mike = 100, Nike = 102, Jike }

b)public enum var1{ Mike = 100, Nike, Jike }

c)public enum var1{ Mike=-1 , Nike, Jike }

d)public enum var1{ Mike , Nike , Jike }

67. 接口是一种引用类型,在接口中可以声明( a ),但不可以声明公有的域或私有的成员变量。

    a) 方法、属性、索引器和事件; b) 方法、属性信息、属性; c) 索引器和字段;     d) 事件和字段

68 .在 ADO.NET 中,对于 Command 对象的 ExecuteNonQuery() 方法和 ExecuteReader() 方法,下面叙述错误的是( C

      a)insert update delete 等操作的 Sql 语句主要用 ExecuteNonQuery() 方法来执行;

b)ExecuteNonQuery() 方法返回执行 Sql 语句所影响的行数。

c)Select 操作的 Sql 语句只能由 ExecuteReader() 方法来执行;

d)ExecuteReader() 方法返回一个 DataReder 对象;

69 . 下列 ASP.NET 语句( b )正确地创建了一个与 SQL Server 2000 数据库的连接。

a)SqlConnection con1 = new Connection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);

b)SqlConnection con1 = new SqlConnection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);

c)SqlConnection con1 = new SqlConnection(Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB);

d)SqlConnection con1 = new OleDbConnection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);

70. ADO.NET 中执行一个存储过程时,如果要设置输出参数则必须同时设置参数的方向和( b ),必要时还要设置参数尺寸。

      a) 大小;              b) 上限;               c) 初始值;             d) 类型;

71. 如果要将窗体设置为透明的,则 ( b )

     a ) 要将 FormBoderStyle 属性设置为 None b) 要将 Opacity 属性设置为小于 100% 得值;

     c) 要将 locked 属性设置为 True               d) 要将 Enabled 属性设置为 True

72. 下列关于 C# 中索引器理解正确的是 (c )

a) 索引器的参数必须是两个或两个以上    b) 索引器的参数类型必须是整数型

c) 索引器没有名字                                       d) 以上皆非

73. 下面描述错误的是 ( c/d )

a) 窗体也是控件; b) 窗体也是类; c) 控件是从窗体继承来的; d) 窗体的父类是控件类

74. 要对注册表进行操作则必须包含 ( d )

a)System.ComponentModel 命名空间; b)System.Collections 命名空间;

  c)System.Threading 命名空间;               d)Microsoft.Win32 命名空间

75. 要创建多文档应用程序,需要将窗体的 (d ) 属性设为 true

   a)DrawGrid          b)ShowInTaskbar           c)Enabled             d)IsMdiContainer

76. 下面关于 XML 的描述错误的是( d )。

a)XML 提供一种描述结构化数据的方法;

b)XML 是一种简单、与平台无关并被广泛采用的标准;

c)XML 文档可承载各种信息;

d)XML 只是为了生成结构化文档;

77. UDP 连接和 TCP 连接的异同。

   前者只管传 , 不管数据到不到 , 无须建立连接 . 后者保证传输的数据准确 , 须要连结。

78. 某一密码仅使用KLMNO5 个字母,密码中的单词从左向右排列,密码单词必须遵循如下规则:

1 )密码单词的最小长度是两个字母,可以相同,也可以不同

2K 不可能是单词的第一个字母

3 )如果L 出现,则出现次数不止一次

4M 不能使最后一个也不能是倒数第二个字母

5K 出现,则N 就一定出现

6O 如果是最后一个字母,则L 一定出现

问题一:下列哪一个字母可以放在LO 中的O 后面,形成一个3 个字母的密码单词?

    A) K   B)L   C) M    D) N
  
答案:B

问题二:如果能得到的字母是KLM ,那么能够形成的两个字母长的密码单词的总数是多少?

    A)1   B)3  C)6  D9

   答案:A LL

问题三:下列哪一个是单词密码?
       A) KLLN   B) LOML   C) MLLO   D)NMKO
      :C

79. 关于ASP.NET 中的代码隐藏文件的描述正确的是(a  

     a) Web 窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。编程逻辑唯一与用户界面不同的文件中。该文件称作为 代码隐藏 文件,如果用C #创建,该文件将具有“.ascx.cs” 扩展名。  

    b) 项目中所有Web 窗体页的代码隐藏文件都被编译成.EXE 文件。  

  c)Web 窗体页的代码隐藏文件都被编译成项目动态链接库(.dll )文件。  

    d) 以上都不正确。

80. 以下描述错误的是(a  

  a) C++ 中支持抽象类而在C# 中不支持抽象类。  

  b) C++ 中可在头文件中声明类的成员而在CPP 文件中定义类的成员,在C# 中没有头文件并且在同一处声明和定义类的成员。  

  c) C# 中可使用new 修饰符显式隐藏从基类继承的成员。  

  d) C# 中要在派生类中重新定义基类的虚函数必须在前面加override  

 

 

81. DOM 中,装载一个XML 文档的方法(b   

   a) save 方法    b) load 方法    c) loadXML 方法    d) send 方法  

82.ASP.NET 中,在Web 窗体页上注册一个用户控件,指定该控件的名称为”Mike” ,正确的注册指令为(b )  

   a) <%@Register   TagPrefix   =   “Mike”   TagName   =   “Space2”   Src   =   “myX.ascx”%>  

   b) <%@Register   TagPrefix   =   “Space2”   TagName   =   “Mike”   Src   =   “myX.ascx”%>  

   c) <%@Register   TagPrefix   =   “SpaceX”   TagName   =   “Space2”   Src   =   “Mike”%>  

   d) 以上皆非  

83. ADO.NET 中,对于Command 对象的ExecuteNonQuery() 方法和ExecuteReader() 方法,下面叙述错误的是(c   

  a) insert updatedelete 等操作的Sql 语句主要用ExecuteNonQuery() 方法来执行。  

  b) ExecuteNonQuery() 方法返回执行Sql 语句所影响的行数。 

  c) Select 操作的Sql 语句只能由ExecuteReader() 方法来执行。

  d) ExecuteReader() 方法返回一个DataReder 对象。  

84. 以下叙述正确的是: (B C )

      A. 接口中可以有虚方法。 B. 一个类可以实现多个接口。 C. 接口不能被实例化

   D. 接口中可以包含已实现的方法。

85. 从数据库读取记录,你可能用到的方法有: (B C D )

     A. ExecuteNonQuery   B. ExecuteScalar   C. Fill     D. ExecuteReader

86. 对于一个实现了 IDisposable 接口的类,以下哪些项可以执行与释放或重置非托管资源相关的应用程序定义的任务? ( 多选 ) ( ABC )

     A.Close    B.Dispose   C.Finalize    D.using E.Quit

87. 以下关于 ref out 的描述哪些项是正确的? ( 多选 ) ( ACD )

     A. 使用 ref 参数,传递到 ref 参数的参数必须最先初始化。

     B. 使用 out 参数,传递到 out 参数的参数必须最先初始化。

     C. 使用 ref 参数,必须将参数作为 ref 参数显式传递到方法。

     D. 使用 out 参数,必须将参数作为 out 参数显式传递到方法

88. 关于 ASP.NET 中的代码隐藏文件的描述正确的是( C

      a)Web 窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。编程逻辑唯一与用户界面不同的文件中。该文件称作为 代码隐藏 文件,如果用 C #创建,该文件将具有 “.ascx.cs” 扩展名。

     b) 项目中所有 Web 窗体页的代码隐藏文件都被编译成 .EXE 文件。

     c) 项目中所有的 Web 窗体页的代码隐藏文件都被编译成项目动态链接库( .dll )文件。

     d) 以上都不正确。

89. 如果将窗体的 FormBoderStyle 设置为 None ,则 ( b )

      a) 窗体没有边框并不能调整大小; b) 窗体没有边框但能调整大小;

      c) 窗体有边框但不能调整大小;       d) 窗体是透明的;

90. 下列关于 C# 中索引器理解正确的是 (c )

      a) 索引器的参数必须是两个或两个以上 b) 索引器的参数类型必须是整数型

      c) 索引器没有名字                                       d) 以上皆非

90. 面描述错误的是 ( c/d )

a) 窗体也是控件; b) 窗体也是类; c) 控件是从窗体继承来的; d) 窗体的父类是控件类

91. Net 依赖以下哪项技术实现跨语言互用性? ( C )

A.CLR      B.CTS     C.CLS    D.CTT

92. String 类与 StringBuilder 类有什么区别?为什么在 .Net 类库中要同时存在这 2 个类?

   如果要操作一个不断增长的字符串,尽量不用 String , 改用 StringBuilder 类。两个类的工作原理不同 :String 类是一种传统的修改字符串的方式,它确实可以完成把一个字符串添加到另一个字符串上的工作没错 , 但是在 .NET 框架下,这个操作实在是划不来。因为系统先是把两个字符串写入内存,接着删除原来的 String 对象,然后创建一个 String 对象,并读取内存中的数据赋给该对象。这一来二去的,耗了不少时间。而使用 System.Text 命名空间下面的 StringBuilder 类就不是这样了,它提供的 Append 方法,能够在已有对象的原地进行字符串的修改,简单而且直接。当然,一般情况下觉察不到这二者效率的差异,但如果你要对某个字符串进行大量的添加操作,那么 StringBuilder 类所耗费的时间和 String 类简直不是一个数量级的。

93. 以下哪些可以作为接口成员? ( 多选 ) ( ABDE )

A. 方法   B. 属性   C. 字段  D. 事件  E. 索引器

94. class Class1

{

private static int count = 0;

static Class1()

{

count++;

}

public Class1()

{

count++;

}

}

Class1 o1 = new Class1();

Class1 o2 = new Class1();

请问, o1.Count 的值是多少? ( C )

A.1 B.2 C.3 D.4

 

95. abstract class BaseClass

{

public virtual void MethodA()

{

}

public virtual void MethodB()

{

}

}

class Class1: BaseClass

{

public void MethodA(string arg)

}

public override void MethodB()

}

}

class Class2: Class1

{

new public void MethodB()

{

}

}

class MainClass

{

public static void Main(string[] args)

{

Class2 o = new Class2();

Console.WriteLine(o.MethodA());

}

}

请问, o.MethodA 调用的是 : ( A )

A.BaseClass.MethodA.  B.Class2.MethodA

C.Class1.MethodA.     D. 都不是

96 . 您的公司有一个 DB Server ,名为 AllWin ,其上装了 MS SQLSERVER 2000 。现在需要您写一个数据库连接字符串,用以连接 AllWin SQL SERVER 中的一个名为 PubBase 实例的 Test 库。请问,应该选择下面哪一个字符串? ( B )

    A. “Server=AllWin;Data Source=PubBase;Initial Catalog=Test;Integrated Security=SSPI”

  B. “Server= AllWin;Data Source=PubBase;Database=Test;Integrated Security= SSPI”

C.“Data Source=AllWin /PubBase;Initial Category=PubBase;Integrated Security= SSPI”   

D. “Data Source= AllWin / PubBase;Database=Test;Integrated Security= SSPI”

97. 您要创建一个 ASP.NET 应用程序在 DataGrid 控件中显示一个经过排序的列表。产品数据被存放于一个名为 PubBase Microsoft SQL Server 数据库。每个产品的主键是 ProductID Numeric 型并且每个产品有一个字母描述字段,名为 ProductName 。您使用一个 SqlDataAdapter 对象和一个 SqlCommand 对象通过调用一个存储过程从数据库中获取产品数据。您将 SqlCommand 对象的 CommandType 属性设置为 CommandType.StoredProcedure ,并将它的 CommandText 属性设置为 procProductList 。您成功的获取了一个 DataTable 对象,其中是已经按 ProductID 降序排列的产品列表。您打算显示以相反的字母顺序排列的 ProductName ,请问该怎么做? ( B )

        A. SqlCommand 对象的 CommandType 属性修改为 CommandType.Text ,将 CommandText 属性修改为 ”SELECT * FROM procProductList ORDER BY ProductName DESC” 。然后将这个 DataTable 对象绑定到 DataGrid 控件。

   B. 创建一个基于这个 DataTable 对象的新的 DataView 并将这个 DataView Sort 属性设置为 “ProductName DESC” 。然后将这个 DataView 对象绑定到 DataGrid 控件。

   C. DataGrid 控件的 AllowSorting 属性设置为 True ,并将 DataGridColumn SortExpression 属性设置为 “ProductName DESC”. 以显示 ProductName 。然后将这个 DataTable 对象绑定到 DataGrid 控件。

   D. DataTable 对象的 DisplayExpression 属性设置为 “ORDER BY ProductName DESC”. 。然后将这个 DataTable 对象绑定到 DataGrid 控件

98. 请解释 web.config 文件中的重要节点

appSettings 包含自定义应用程序设置。

system.web 系统配置

compilation 动态调试编译设置

customErrors 自定义错误信息设置

authentication 身份验证 , 此节设置应用程序的身份验证策略。

authorization 授权 , 此节设置应用程序的授权策略 .

99. 当发现不能读取页面上的输入的数据时很有可能是什么原因造成的?怎么解决?

   有可能是在 Page_Load 中数据处理时没有进行 Page IsPostBack 属性判断

100. 您需要创建一个ASP.NET 应用程序,公司考虑使用Windows 身份认证。
   所有的用户都存在于AllWin 这个域中。您想要使用下列认证规则来配置这个应用程序:
    a 、 匿名用户不允许访问这个应用程序。
    b 、 所有雇员除了TessKing 都允许访问这个应用程序。

  请问您应该使用以下哪一个代码段来配置这个应用程序? )
A. <authorization>
    <deny users=”allwin/tess, allwin/king”>
   
<allow users=”*”>
   
<deny users=”?”>
 
</authorization>
B. <authorization>
   
<allow users=”*”>
   
<deny users=”allwin/tess, allwin/king”>
   
<deny users=”?”>
 
</authorization>
C. <authorization>
   
<deny users=”allwin/tess, allwin/king”>
   
<deny users=”?”>
   
<allow users=”*”>
 
</authorization>
D. <authorization>
   
<allow users=”allwin/tess, allwin/king”>
   
<allow users=”*”>
 
</authorization>
E.<authorization>
   
<allow users=”*”>
   
<deny users=”allwin/tess, allwin/king”>
 </authorization>

101. 您要创建ASP.NET 应用程序用于运行AllWin 公司内部的Web 站点,这个应用程序包含了50 个页面您想要配置这个应用程序以便当发生一个HTTP 代码错误时它可以显示一个自定义的错误页面给用户。您想要花最小的代价完成这些目标,您应该怎么做?( 多选)(  C/D    )

A. 在这个应用程序的Global.asax 件中创建一个Application_Error 过程去处理ASP.NET 代码错误。

B. 在这个应用程序的Web.config 文件中 创建一个applicationError 节去处理ASP.NET 代码错误。

C. 在这个应用程序的Global.asax 文件中创建一个CustomErrors 事件去处理HTTP 错误。
  D. 在这个应用程序的Web.config 文件中创建一个CustomErrors 节去处理HTTP 错误。

  E. 在这个应用程序的每一页中添加一个Page 指示符去处理ASP.NET 代码错误。
  F. 在这个应用程序的每一页中添加一个Page 指示符去处理ASP.NET HTTP 错误。

102. 请编程实现一个冒泡排序算法?

     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 ;

          }

       }

     }

103. swtich 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String ?

    switch expr1 )中, expr1 是一个整数表达式。因此传递给 switch case 语句的参数应该是 int short char 或者 byte long,string 都不能作用于 swtich

104. 堆和栈的区别?

    栈:由编译器自动分配、释放。在函数体中定义的变量通常在栈上。

    堆:一般由程序员分配释放。用 new malloc 等分配内存函数分配得到的就是在堆上。

105. 请说明在 .net 中常用的几种页面间传递参数的方法,并说出他们的优缺点。

    session(viewstate) 简单,但易丢失

        application 全局

        cookie 简单,但可能不支持,可能被伪造

        input ttype="hidden" 简单,可能被伪造

        url 参数 简单,显示于地址栏,长度有限

    数据库 稳定,安全,但性能相对弱

106. 向服务器发送请求有几种方式?

    get,post get 一般为链接方式, post 一般为按钮方式 .

107. 什么叫做 SQL 注入,如何防止?请举例说明。

利用 sql 关键字对网站进行攻击。过滤关键字

108. Net Framework 通过什么与 COM 组件进行交互操作? (   C )

        A.Side By Side.             B.Web Service

      C.Interop.                    D.Pinvoke

109. 如何把一个 array 复制到 arrayList

foreach( object o in array )

arrayList.Add(o);

 

 

 

from :http://blog.csdn.net/zhangyu_xl/archive/2008/06/08/2522021.aspx

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值