.NET软件工程师48个面试题目

来源:互联网 发布:中国社会发展数据库 编辑:程序博客网 时间:2024/05/20 20:05

一.填空题
1.面向对象的语言具有(继承)性、(多态)性、(封装)性。

2.能用foreach遍历访问的对象需要实现 (IEnumberable)接口或声明(GetEnumberator)方法的类型。

3.列举ADO.net中的五个主要对象(Command)、(Connection)、(DataReader)、(DataSet)、(DataAdapter)。

4.C#中的三元运算符是__(?:)__

5.当整数a赋值给一个object对象时,整数a将会被__(装箱)___

6.类成员有__(3)__种可访问形式

7.float f=-123.567F;int i=(int)f;i的值现在是_(-123)__

8.委托声明的关键字是___( delegate) _

9.在Asp.net中所有的自定义用户控件都必须继承自_ (System.Web.UI.UserControl) __

10.在.Net中所有可序列化的类都被标记为__[serializable]___

11.在.Net托管代码中我们不用担心内存漏洞,这是因为有了_ GC __

12.当类T只声明了私有实例构造函数时,则在T的程序文本外部,_不可以_(可以 or 不可以)从T派生出新的类,_不可以_(可以 or 不可以)直接创建T的任何实例。

二.选择题
1.以下叙述正确的是: BC
A. 接口中可以有虚方法。 B. 一个类可以实现多个接口。 
C. 接口不能被实例化。   D. 接口中可以包含已实现的方法。

2.从数据库读取记录,你可能用到的方法有: BCD 
A. ExecuteNonQuery     B. ExecuteScalar 
C. Fill                 D. ExecuteReader

3.对于一个实现了IDisposable接口的类,以下哪些项可以执行与释放或重置非托管资
相关的应用程序定义的任务?(多选)   (   ABC    )
A.Close    B.Dispose   C.Finalize   D.using  E.Quit

4.以下关于ref和out的描述哪些项是正确的?(多选)   (    ACD   )
    A.使用ref参数,传递到ref参数的参数必须最先初始化。  
    B.使用out参数,传递到out参数的参数必须最先初始化。   
    C.使用ref参数,必须将参数作为ref参数显式传递到方法。  
    D.使用out参数,必须将参数作为out参数显式传递到方法。

5.在对SQL Server 数据库操作时应选用(A)
   A.SQL Server .NET Framework 数据提供程序;
B.OLE DB .NET Framework 数据提供程序;
C.ODBC .NET Framework 数据提供程序;
D.Oracle .NET Framework数据提供程序;

6.下列选项中,(C)是引用类型。
   A.enum类型   B.struct类型 C.string类型   D.int类型

7.关于ASP.NET中的代码隐藏文件的描述正确的是(C)
   A.Web窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。编程逻辑唯一与用户界面不同的文件中。该文件称作为“代码隐藏”文件,如果用C#创建,该文件将具有“.ascx.cs”扩展名。
B.项目中所有Web窗体页的代码隐藏文件都被编译成.EXE文件。
C.项目中所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库(.dll)文件。
D.以上都不正确。

8.以下描述错误的是(A)
A.在C++中支持抽象类而在C#中不支持抽象类。
B.C++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。
C.在C#中可使用 new 修饰符显式隐藏从基类继承的成员。
D.在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。

9.C#的数据类型有(B)
   A.值类型和调用类型              B.值类型和引用类型
C.引用类型和关系类型            D.关系类型和调用类型

10.下列描述错误的是(D)
A.类不可以多重继承而接口可以
B.抽象类自身可以定义成员而接口不可以
C.抽象类和接口都不能被实例化
D.一个类可以有多个基类和多个基接口
11.在DOM中,装载一个XML文档的方法(D)
    A.save方法   B.load方法 C.loadXML方法 D.send方法

12.下列关于构造函数的描述正确的是(C)
A.构造函数可以声明返回类型。
B.构造函数不可以用private修饰
C.构造函数必须与类名相同
D.构造函数不能带参数

13.以下是一些C#中的枚举型的定义,其中错误的用法有(A)
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 }

14.int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; myArray3[2][2]的值是(D)
     A.9                  B.2             C.6              D.越界

15.接口是一种引用类型,在接口中可以声明(A),但不可以声明公有的域或私有的成员变量
A..方法、属性、索引器和事件           B.方法、属性信息、属
C.索引器和字段                        D.事件和字段;

16.ASP.NET框架中,服务器控件是为配合Web表单工作而专门设计的。服务器控件有两种类型,它们是(A )
   A.HTML控件和Web控件         B.HTML控件和XML控件 
C.XML控件和Web控件          D.HTML控件和IIS控件

17.ASP.NET中,在Web窗体页上注册一个用户控件,指定该控件的名称为”Mike”,正确的注册指令为( D)
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.以上皆非

18.在ADO.NET中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误的是(C)
   A.insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行;
B.ExecuteNonQuery()方法返回执行Sql语句所影响的行数。
C.Select操作的Sql语句只能由ExecuteReader()方法来执行;
D.ExecuteReader()方法返回一个DataReder对象;


19.下列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”);

20.Winform中,关于ToolBar控件的属性和事件的描述不正确的是(D)
A.Buttons属性表示ToolBar控件的所有工具栏按钮
B.ButtonSize属性表示ToolBar控件上的工具栏按钮的大小,如高度和宽度
C.DropDownArrows属性表明工具栏按钮(该按钮有一列值需要以下拉方式显示)旁边是否显示下箭头键
D.ButtonClick事件在用户单击工具栏任何地方时都会触发

21.在ADO.NET中执行一个存储过程时,如果要设置输出参数则必须同时设置参数的方向和(D ),必要时还要设置参数尺寸。
   A.大小;           B.上限;              C.初始值;            D.类型

22.如果将窗体的FormBoderStyle设置为None,则( A)。
A.窗体没有边框并不能调整大小;        B.窗体没有边框但能调整大小;
C.窗体有边框但不能调整大小;          D.窗体是透明的;

23.如果要将窗体设置为透明的,则( B)
    A.要将FormBoderStyle属性设置为None; B.要将Opacity属性设置为小于100%的值;
C.要将locked 属性设置为True;        D.要将 Enabled属性设置为True;

24.下列关于C#中索引器理解正确的是(B/C )
    A.索引器的参数必须是两个或两个以上   B.索引器的参数类型必须是整数型
C.索引器没有名字                     D.以上皆非

25.下面描述错误的是( C/D)
    A.窗体也是控件; B.窗体也是类; C.控件是从窗体继承来的;D.窗体的父类是控件类

26.要对注册表进行操作则必须包含( D)
    A.System.ComponentModel命名空间;B.System.Collections命名空间;
C.System.Threading命名空间;     D.Microsoft.Win32命名空间;

27.要创建多文档应用程序,需要将窗体的(D )属性设为true。
    A.DrawGrid;    B.ShowInTaskbar;     C.Enabled;     D.IsMdiContainer;


28.如果设treeView1=new TreeView(),则treeView1.Nodes.Add("根节点")返回的是一个 (A)类型的值。
   A.TreeNode;  B.int;  C.string;  D.TreeView;

29.下面关于XML的描述错误的是(D)
A.XML提供一种描述结构化数据的方法;
B.XML 是一种简单、与平台无关并被广泛采用的标准;
C.XML文档可承载各种信息;
D.XML只是为了生成结构化文档;

30.装箱、拆箱操作发生在: (  C  )
    A.类与对象之间           B.对象与对象之间
C.引用类型与值类型之间   D.引用类型与引用类型之间

31.用户类若想支持Foreach语句需要实现的接口是: (  A  )
A.Ienumerable       B.Ienumerator    C.Icollection        D.IcollectData

32.Net Framework通过什么与COM组件进行交互操作?(   C )
    A.Side By Side     B.Web Service    C.Interop     D.PInvoke

33..Net依靠以下哪一项技术解决COM存在的Dll Hell问题的?( A   )
    A.Side By Side     B.Interop    C.Pinvoke      D.COM+

34.装箱与拆箱操作是否是互逆的操作?(  B  )
    A.是        B.否

35.以下哪个是可以变长的数组?(  D  )
A.Array        B.string[]       C.string[N]        D.ArrayList

36.用户自定义异常类需要从以下哪个类继承:(  A  )
    A.Exception  B.CustomException   C.ApplicationException  D.BaseException

3 0
原创粉丝点击