| 发表于:2007-03-13 23:05:24 楼主 |
一套面试题,请大家帮帮忙,我统计下正确答案后来共享: 一、 以下20题缺省是指.net平台和c#语言: 1. 垃圾回收器的工作原理包括下列那些步骤 a遍历内存, b处理列表 c释放对象 d整理内存 e fixed处理 2. .下列选项中,()是引用类型。 a)enum类型 b)struct类型 c)string类型 d)int类型 3. 以下描述错误的是() a)在c++中支持抽象类而在c#中不支持抽象类。 b)c++中可在头文件中声明类的成员而在cpp文件中定义类的成员,在c#中没有头文件并且在同一处声明和定义类的成员。 c)在c#中可使用 new 修饰符显式隐藏从基类继承的成员。 d)在c#中要在派生类中重新定义基类的虚函数必须在前面加override。 4. c#的数据类型有() a)值类型和调用类型; b)值类型和引用类型; c)引用类型和关系类型; d)关系类型和调用类型; 5. 下列关于c# 的描述错误的是() a)类不可以多重继承而接口可以; b)抽象类自身可以定义成员而接口不可以; c)抽象类和接口都不能被实例化; d)一个类可以有多个基类和多个基接口; 6. 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]的值是()。 a)9 b)2 c)6 d)越界 7. 接口是一种引用类型,在接口中可以声明(),但不可以声明公有的域或私有的成员变量。 a)方法、属性、索引器和事件; b)方法、属性信息、属性; c)索引器和字段; d)事件和字段; 8. asp.net的web.config文件中定义变量并在程序中调用 <appsettings> <add key= "mysqlquery " value= "select * from mysqltable "/> </appsettings> a) string getquery = configurationsettings.appsettings[ "mysqlquery " ]; b) string getquery = appsettings[ "mysqlquery " ] c) string getquery = configurationsettings [ "mysqlquery " ] d) string getquery = configurationsettings.appsettings[mysqlquery] 9. 在ado.net中,对于command对象的EXECutenonquery()方法和EXECutereader()方法,下面叙述错误的是()。 a)insert、update、delete等操作的sql语句主要用EXECutenonquery()方法来执行; b)EXECutenonquery()方法返回执行sql语句所影响的行数。 c)select操作的sql语句只能由EXECutereader()方法来执行; d)EXECutereader()方法返回一个datareder对象; 10. 说出下面几个函数的是值引用的是();地址引用的是();值输出的是() a) private void test(ref string str){…} b) private void test(string str){…} c) public void test (str){……..} d) private void test(out string str){…} 11. arraylist 属于哪个名字空间: a) system.collections。 b) system.collection。 c) system.arrays d) system.array 12、 在c#中,下列说法正确的是()。 a) 在一个代码文件中,只能包含一个类 b) 在一个代码文件中,只能包含一个命名空间 c) 在一个代码文件中,可以声明多个命名空间 d) 在一个代码文件的一个命名空间中,可以定义多个类 13、 在c#中,下列关于方法重载的说法正确的是()。 a) 在一个类中,可以存在多个同名的方法,这称为方法重载 b) 在一个类中,如果有两个同名的方法,则这两个方法的返回类型必须不同 c) 在一个类中,如果有两个同名的方法,则这两个方法的参数个数必须不同 d) 在一个类中,如果有两个同名的方法,则这两个方法的参数类型必须不同 14、 在c#中,下列接口声明正确的是()。 a) public interface ilist { int count; } b) public interface ilist { void add(int i); } c) public interface ilist { public void remove(int i); } d) public interface ilist { void remove(int i) { } } 15、 在c#中,下列关于委托的说法正确的是()。 a) 委托必须指向实例方法 b) 委托指向的方法必须与委托的返回类型和参数完全相同 c) 一个委托只能同时指向一个方法 d) 委托指向的方法可以在运行时决定 16、 在c#中,下列代码运行后的输出结果是()。 public delegate void delegateshowtime(datetime dt); public class clock { public event delegateshowtime alarm; datetime time; public datetime time { get { return this.time; } set { this.time = value; if(alarm!=null) alarm(this.time); } } static void main() { clock clock = new clock(); clock.time = new datetime(2006,1,1); clock.alarm += new delegateshowtime(clock.showtime); clock.time = new datetime(2007,1,1); } public void showtime(datetime dt) { console.writeline(dt.toshortdatestring()); } } a) 2006-01-01 b) 2007-01-01 c) 2006-01-01 2007-01-01 d) 无输出 17、 在c#中,下列代码的运行结果是()。 public class math { static void main() { try { int []num1 = new int[]{1,2,3,4}; int []num2 = num1; for(int i=0;i <num2.length;i++) { num2[i] = num1[i]*2; console.write(num1[i]); } } catch { console.writeline( "出现错误 "); } } } a) 1234 b) 2468 c) 0000 d) 出现错误 18、 在ado.net中,关于下列代码说法正确的是()。 datatable dt = new datatable();//1 dt.columns.add( "编号 "); //2 datarow dr = dt.newrow(); //3 a) 代码行1编译时将出现错误 b) 代码行2编译时将出现错误 c) 代码行3编译时将出现错误 d) 代码行1、2、3能够正确编译 19、 在ado.net中,下列关于数据集(dataset)的说法正确的是()。(多选) a) 数据集分为类型化数据集和非类型化数据集 b) 数据集中可以包含多个datatable对象 c) 与数据库的连接断开后,数据集中的数据将自动清除 d) 数据集中的数据必须通过dataadapter对象的fill方法获得 20、 在asp.net中,下列可以作为datagrid的数据源的有()。(多选) a) dataset b) datatable c) dataview d) datareader |
|
|
|
|