.Net软件工程师面试题————————————————————————————————作者:————————————————————————————————日期: (每空1分,共12分)1面向对象的语言具有__封装______性、__继承_______性、__多态______性。2能用foreach遍历访问的对象需要实现 ____Ienumerable____________接口或声明_____GetEnumerator___________方法的类型。3当类T只声明了私有实例构造函数时,则在T的程序文本外部,___不可以___(可以 or 不可以)从T派生出新的类,在T的内部__可以__(可以 or 不可以)直接创建T的任何实例,在T的外部__不可以__(可以 or 不可以)直接创建T的任何实例。4. 委托声明的关键字是__Delegate____ 5. override与重载的区别: override覆盖是基类中函数的重写。重载:方法或函数的名称相同,参数或许参数类型不同,进行多次重载实现功能。 二. 不定项选择(每题2分,共18)Question1 以下叙述正确的是: A. 接口中可以有虚方法。 B. 一个类可以实现多个接口。 C. 接口不能被实例化。 D. 接口中可以包含已实现的方法。Question2 以下描述错误的是() 1. 在C++中支持抽象类而在C#中不支持抽象类。 ++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。 3. 在C#中可使用 new 修饰符显式隐藏从基类继承的成员。4. 在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。Question3 声明一个委托publicdelegateintmyCallBack(intx); 则用该委托产生的回调方法的原型应该是 (intx) (intnum) (intx)4. 不确定的Question4下列描述错误的是() a) 类不可以多重继承而接口可以; b) 抽象类自身可以定义成员而接口不可以; c) 抽象类和接口都不能被实例化; d) 一个类可以有多个基类和多个基接口;Question5下列关于构造函数的描述正确的是() a) 构造函数可以声明返回类型。 b) 构造函数不可以用private修饰 c) 构造函数必须与类名相同 d) 构造函数不能带参数Question6 接口是一种引用类型,在接口中可以声明( ),但不可以声明公有的域或私有的成员变量。 a) 方法、属性、索引器和事件; b) 方法、属性信息、属性; c) 索引器和字段; d) 事件和字段;Question7以下的C#代码,试图用来定义一个接口: publicinterfaceIFile { intA; intdelFile() { A=3; } voiddisFile(); } 关于以上的代码,以下描述错误的是()。 a) 以上的代码中存在的错误包括:不能在接口中定义变量,所以intA代码行将出现错误; b) 以上的代码中存在的错误包括:接口方法delFile是不允许实现的,所以不能编写具体的实现函数; c) 代码voiddisFile();声明无错误,接口可以没有返回值; d) 代码voiddisFile();应该编写为voiddisFile(){}; {publicstaticintCount=0;lass1(){Count++;}lass1(){Count++;}}Class1o1=newClass1();Class1o2=newClass1(); 请问,?() {publicvirtualvoidMethodA(){("BaseClass");}publicvirtualvoidMethodB(){}}classClass1:BaseClass{publicvoidMethodA(){("Class1");}publicoverridevoidMethodB(){}}classClass2:Class1{newpublicvoidMethodB(){}}classMainClass{publicstaticvoidMain(string[]args){Class2o=newClass2
Net软件工程师面试题 来自淘豆网www.taodocs.com转载请标明出处.