1 / 16
文档名称:

.Net软件工程师面试题.doc

格式:doc   大小:274KB   页数:16页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

.Net软件工程师面试题.doc

上传人:xgs758698 2016/8/6 文件大小:274 KB

下载得到文件列表

.Net软件工程师面试题.doc

文档介绍

文档介绍:(每空 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) Question 1 以下叙述正确的是: A. 接口中可以有虚方法。 B. 一个类可以实现多个接口。 C. 接口不能被实例化。 D. 接口中可以包含已实现的方法。 Question 2 以下描述错误的是() C++ 中支持抽象类而在 C# 中不支持抽象类。 2. C++ 中可在头文件中声明类的成员而在 CPP 文件中定义类的成员,在 C# 中没有头文件并且在同一处声明和定义类的成员。 C# 中可使用 new 修饰符显式隐藏从基类继承的成员。 C# 中要在派生类中重新定义基类的虚函数必须在前面加 Override 。 Question 3 声明一个委托 public delegate int myCallBack(int x); 则用该委托产生的回调方法的原型应该是 1. void myCallBack(int x) 2. int receive(int num) 3. string receive(int x) 4. 不确定的 Question 4 下列描述错误的是() a) 类不可以多重继承而接口可以; b) 抽象类自身可以定义成员而接口不可以; c) 抽象类和接口都不能被实例化; d) 一个类可以有多个基类和多个基接口; Question 5 下列关于构造函数的描述正确的是() a) 构造函数可以声明返回类型。 b) 构造函数不可以用 private 修饰 c) 构造函数必须与类名相同 d) 构造函数不能带参数 Question 6 接口是一种引用类型, 在接口中可以声明(), 但不可以声明公有的域或私有的成员变量。 a) 方法、属性、索引器和事件; b) 方法、属性信息、属性; c) 索引器和字段; d) 事件和字段; Question 7 以下的 C# 代码,试图用来定义一个接口: public interface IFile { int A; int delFile() {A= 3; } void disFile(); } 关于以上的代码,以下描述错误的是()。 a) 以上的代码中存在的错误包括: 不能在接口中定义变量, 所以 int A 代码行将出现错误; b) 以上的代码中存在的错误包括: 接口方法 delFile 是不允许实现的, 所以不能编写具体的实现函数; c) 代码 void disFile(); 声明无错误,接口可以没有返回值; d) 代码 void disFile(); 应该编写为 void disFile(){} ; Question 8. class Class1 { public static int Count = 0; static Class1() { Count++; } public Class1() { Count++; }} Class1 o1= new Class1(); Class1 o2= new Class1(); 请问, 的值是多少? () Question 9 abstract class BaseClass { public virtual void MethodA() { ("BaseClass"); } public virtual void MethodB() {}} class Class1: BaseClass { public void MethodA() { ("Class1"); } public override void MethodB() {}} class Class2: Class1 { new publ