1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > c语言高级工程师试题 .Net中高级开发工程师笔试题带答案(3)

c语言高级工程师试题 .Net中高级开发工程师笔试题带答案(3)

时间:2023-04-17 16:18:20

相关推荐

c语言高级工程师试题 .Net中高级开发工程师笔试题带答案(3)

一、单选题(共11题,每题3分,共计33分)

1、阅读下面代码:

classProgram

{

public static void ThrowException()

{

thrownewException();

}

static void Main(string[] args)

{

try

{

Console.WriteLine("try");

ThrowException();

}

catch

{

Console.WriteLine("catch");

}

finally

{

Console.WriteLine("finally");

}

Console.Read();

}

}

请问代码运行结果是:(A )

try / catch / finally

try

try / catch

try / finally

2、阅读下面的代码

public struct Rect

{

public int e;

}

classProgram

{

public int d = 4;

public static void SetValue(int a, refint b, outint c, Program p,Rect r)

{

a = 5;

b = 6;

c = 7;

p.d = 8;

r.e = 9;

}

static void Main(string[] args)

{

int a = 1;

int b = 2;

int c = 3;

Program p = newProgram();

p.d = 4;

Rect r = newRect();

r.e = 5;

SetValue(a, ref b, out c, p, r);

Console.WriteLine("a={0},b={1},c={2},p.d={3},r.e={4}", a, b, c, p.d, r.e);

Console.Read();

}

}

请问程序输出结果是(C)

a=1, b=2, c=3, p.d=4, r.e=5

a=5, b=2, c=7, p.d=8, r.e=9

a=1, b=6, c=7, p.d=8, r.e=5

a=1, b=6, c=3, p.d=4, r.e=9

3、阅读下面的代码:

public abstract class Animal

{

public Animal()

{

Console.WriteLine("New Animal");

}

public virtual void Shout()

{

Console.WriteLine("Animal Shout");

}

}

public class Dog : Animal

{

public Dog()

{

Console.WriteLine("New Dog");

}

public override void Shout()

{

Console.WriteLine("Dog Shout");

}

static void Main(string[] args)

{

Animal animal = newDog();

animal.Shout();

Console.Read();

}

}

请问程序输出结果是(C)

Dog Shout / Dog Shout

New Dog / Animal Shout

New Animal / New Dog / Dog Shout

New Dog / New Animal / Animal Shout

4、阅读下面的代码:

class A

{

public static int X=2;

static A()

{

X = B.Y + 1;

}

}

class B

{

public static int Y = A.X + 1;

static B() { }

static void Main()

{

Console.WriteLine("X={0},Y={1}", A.X, B.Y);

Console.Read();

}

}

请问程序输出结果是(A)

X=1, Y=2

X=2, Y=2

X=2, Y=1

X=1, Y=1

5、在WinForm中,Form从创建到释放会依次触发的事件顺序是(A)

A 构成函数->Load->Activated->Closing->Closed->Deactivate

B 构成函数-> Activated -> Load ->Closing-> Deactivate-> Closed

C Load->构成函数->Activated->Closing->Closed->Deactivate

D Load->构成函数->Activated-> Closing -> Deactivate -> Closed

6、对于CSS position 属性,下面正确的说法是(B)

A 盒子的默认定位为fixed,即固定定位

B 盒子的相对定位是指相对于其身原有位置进行偏移,一般会结合left、 right、top、bottom属性使用

C 绝对定位是以其父元素为参考对象,绝对定位的元素会脱离文档流

D position属性的取值为static时,是以浏览器窗口作为定位基准

7、在Javascrip中声明一个对象,给它加上name属性和show方法显示其name值,以下代码中正确的是(D)

A var obj = [name:”zhangsan”,show:function(){alert(name);}];

B var obj = {name=”zhangsan”,show:”alert(this.name)”};

C var obj = {name=”zhangsan”,show:function(){alert(name);}};

D var obj = {name:”zhangsan”,show:function(){alert(this.name);}};

8、使用jQuery检查元素在网页上是否存在,正确的代码是(C)

A if($(“#id”)) {}

B if($(“.id”)) {}

C if($(“#id”).length>0) {}

D if($(“.id”).length>0) {}

9、在 WebForm中,如果在页面上同时放入HtmlControl文本框T1和WebControl文本框T2,文本框的初始值都为aaa, 在点击提交按钮后,下面的说法正确的是(B)

A T1的值为aaa, T2的值为aaa

B T1的值为空, T2的值为aaa

C T1的值为aaa, T2的值为空

D T1的值为空, T2的值为空

10、以下多线程对int型变量x的操作,不需要进行同步处理的是(D)

A.x=y;B. x++;C. ++x; D. x=1;

11、关于SQL的执行顺序,正确的是(A)

A. FROM->WHERE->GROUP BY->HAVING->SELECT->DISTINCT->ORDER BY->TOP

B. SELECT->FROM-> WHERE->DISTICT->GROUP BY->HAVING->TOP ->ORDER BY

C. HAVING -> GROUP BY ->FROM->WHERE-> SELECT-> ORDER BY->DISTINCT->TOP

D. WHERE->FROM>HAVING->GROUP BY–>SELECT->DISTINCT->TOP->ORDER BY

多选题(共10题,每题4分,共计40分,多选、错选不得分,少选得1分)

12、面向对象的重要特征包括(AB C)

A.继承B. 多态 C. 封装D. 抽象

13、下面是对象有( A C D E)

A Connection对象

B DataSource对象

C Command对象

D DataAdapter对象

E DataSet对象

14、请介绍一下SQL Server中聚簇索引和非聚簇索引的区别(A B C )

A. 聚簇索引的顺序就是数据的物理存储顺序

B. 非聚簇索引的索引顺序与数据物理排列顺序无关

C. 一个表只能有一个聚簇索引,但可以有多个非聚簇索引

D. 一个表可以有多个聚簇索引,但只能有一个非聚簇索引

15、在 MVC中,一个合法的Action方法必须满足的要求为(AB D E)

A. 所有的Action方法所在的类必须继承抽象类ConctrollerBase

B. 必须是一个公有的实例方法

C. 方法返回值不能为void

D. 方法不能带有泛型参数

E. 方法不能带有输出和引用参数

16、以下说法错误的是(BC D E F)

A. 需求分析过程中,需求项应该清楚明确、可实现、可测试

B. 可以直接根据需求做编码,不需设计

C. 程序员只需要完成编码工作,所有的测试工作由测试人员完成

D. 为了增加用户的满意度,可以在开发过程中增加用户没有提出的功能

E. 项目经理分配任务后,只需要在任务结束后检查任务完成情况。任务的质量和进度情况由任务接收者负责

F. 原型开发只需要一个简单的UI即可,无需考虑细节和用户体验

17、以下有关泛型的描述中正确的是(AB C)

A.类、接口、函数都可以是泛型的

B.泛型是强类型

C.泛型集合与非泛型集合相比避免了装箱、拆箱操作

D.泛型类可以有约束,泛型方法不能有约束

18、反射可以完成以下任务(AB C D E F)

A.枚举类型的成员

B.实例化新对象

C.查找类型信息

D.查找程序集信息

E.检查应用于某种类型的自定义特征

F.创建和编译新程序集

19、关于集合,以下说法正确的是(A B D)

A.Dictionary类适合存键值对,但不允许Key重复

B.Queue适合组织先进先出数据

C.Stack适合组织先进先出数据

D.LinkedList在内部维护了一个双向的链表,在中间插入或删除元素比List快

20、以下说法正确的是(AB C)

A.可以使用匿名方法来定义委托

B.Lambda表达式实际上是匿名方法

C.事件(Event)是委托类型

D.委托只能定义在类中

21、在.NET体系结构中,以下说法正确的是(BD E F)

A.一个进程不能同时运行多个应用程序

B.一个进程能同时运行多个应用程序域

C.静态成员能在应用程序域之间共享

为每个应用程序创建了一个应用程序域

E.只有继承了MarshalByRefObject的类才能跨应用程序域访问

F.应用程序域可以独立加载和卸载程序集

问答题(共5题,共计27分)

22、抽象类和接口有什么不同?(7分)

参考答案:

抽象类用于共性,而接口用于规范;

抽象类中可以有方法的实现,也可以定义非静态的类变量,接口中只能声明方法,属性,事件,索引器;

抽象类是类,所以只能被单继承,接口却可以一次实现多个;

抽象类可以提供某些方法的部分实现,接口不可以;

抽象类的实例是它的子类给出的,接口的实例是实现接口的类给出的;

抽象类中加入一个方法,那么它的子类就同时有了这个方法,而在接口中加入新的方法,那么实现它的类就要重新编写;

接口成员被定义为公共的,但抽象类的成员也可以是私有的、受保护的、内部的或受保护的内部成员

23、C#中重写(override)与重载(overload)有什么区别?(5分)

参考答案:

方法的重写是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系;

重写要求参数列表相同,重载要求参数列表不同;

重写关系中,调用那个方法体,是根据对象的类型(对象对应存储空间类型)来决定,重载关系,是根据调用时的实参表与形参表来选择方法体的;

24、有两个表如下: (5分)

Table1

IDName

1aaa

2bbb

3ccc

Table2

IDAge

220

330

440

请给出下面SQL 语句的结果

1、

1)SELECT A.ID, A.Name, B.Age

FROM Table1 as A

INNER JOIN Table2 as B

ON A.ID = B.ID

2、

2)SELECT A.ID, A.Name, B.Age

FROM Table1 as A

LEFT JOIN Table2 as B

ON A.ID = B.ID

参考答案:

1)

IDNameAge

2bbb20

3ccc30

2)

IDNameAge

1aaaNULL

2bbb20

3ccc30

25、有如下2个数据库表, 请写一条SQL将UserName为“Daniel”的Department更新成“MD”(5分)

参考答案:

UPDATEB

SETB.Department ='MD'

WHERE UserId =(SELECT UserId FROMAWHERE UserName ='Daniel')

答案2

UPDATEB

SET Department ='MD'

FROMB,A

WHEREB.UserId =A.UserId

ANDA.UserName ='Daniel'

26、有张课程表(Course)如下 (5分)

IDTitle

1数学

2英语

3语文

4物理

5化学

6数学

7英语

8化学

9物理

请写出删除Title重复记录的SQL语句(保留ID最小的)

参考答案:

DELETEFROMCourse

WHERE[ID]NOTIN(SELECTMIN(ID)ASID

FROMCourse

GROUP BY[Title])

四、附加题(每小题5分,共15分)

27、请用C#实现一个单例模式。

参考答案(有多种方法):

public sealed class Singleton

{

private static readonly Singleton instance=new Singleton();

private Singleton()

{

}

public static Singleton GetInstance()

{

return instance;

}

}

28、有一列数1,1,2,3,5,8,……..,求第30个数。

参考答案:

publicclassMainClass

{

publicstaticvoidMain()

{

Console.WriteLine(Foo(30));

}

publicstaticintFoo(inti)

{

if(i <= 0)

return0;

elseif(i > 0 && i <= 2)

return1;

elsereturnFoo(i - 1) + Foo(i - 2);

}

}

除非注明,文章均由

转载请注明:

作者:Dotnet9

链接:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。