1、NET软件工程师48个面试题目 资料仅供参考 .NET软件工程师48个面试题目 一.填空题 1.面向对象的语言具有(继承)性、(多态)性、(封装)性。 2.能用foreach遍历访问的对象需要实现 (IEnumberable)接口或声明(GetEnumberator)方法的类型。 3.列举ADO.net中的五个主要对象(Command)、(Connection)、(DataReader)、(DataSet)、(DataAdapter)。 4.C#中的三元运算符是__(?:)__ 5.当整数a赋值给一个object对象时,整数a将会被__(装箱)___ 6.类成员有
2、3)__种可访问形式 7.float f=-123.567F;int i=(int)f;i的值现在是_(-123)__ 8.委托声明的关键字是___( delegate) _ 9.在A中所有的自定义用户控件都必须继承自_ (System.Web.UI.UserControl) __ 10.在.Net中所有可序列化的类都被标记为__[serializable]___ 11.在.Net托管代码中我们不用担心内存漏洞,这是因为有了_ GC __ 12.当类T只声明了私有实例构造函数时,则在T的程序文本外部,_不能够_(能够 or 不能够)从T派生出新的类,_不能够_(能够 or 不
3、能够)直接创立T的任何实例。 二.选择题 1.以下叙述正确的是: BC A. 接口中能够有虚方法。 B. 一个类能够实现多个接口。 C. 接口不能被实例化。 D. 接口中能够包含已实现的方法。 2.从数据库读取记录,你可能用到的方法有: BCD A. ExecuteNonQuery B. ExecuteScalar C. Fill D. ExecuteReader 3.对于一个实现了IDisposable接口的类,以下哪些项能够执行与释放或重置非托管资 相关的应用程序定义的任务?(多选) ( ABC ) A.
4、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 Frame
5、work 数据提供程序; 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.c
6、s”扩展名。 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.值类型和调用类型
7、 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.
8、构造函数不能带参数 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},
9、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控件和
10、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 = “
11、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()方法返回一个DataRed
12、er对象; 19.下列ASP.NET语句(B)正确地创立了一个与SQL Server 数据库的连接。 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”)
13、 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
14、属性表示ToolBar控件的所有工具栏按钮 B.ButtonSize属性表示ToolBar控件上的工具栏按钮的大小,如高度和宽度 C.DropDownArrows属性表明工具栏按钮(该按钮有一列值需要以下拉方式显示)旁边是否显示下箭头键 D.ButtonClick事件在用户单击工具栏任何地方时都会触发 21.在ADO.NET中执行一个存储过程时,如果要设置输出参数则必须同时设置参数的方向和(D ),必要时还要设置参数尺寸。 A.大小; B.上限; C.初始值; D.类型 22.如果将窗体的FormBoderS
15、tyle设置为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.索引器的参数类型必须是整数
16、型 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.S
17、howInTaskbar; 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.装箱、拆箱操作发生在:
18、 ( 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
19、依靠以下哪一项技术解决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






