企业面试题汇总-net方向_第1页
企业面试题汇总-net方向_第2页
企业面试题汇总-net方向_第3页
企业面试题汇总-net方向_第4页
企业面试题汇总-net方向_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

企业面试题汇总

一.Net部分

.NET部分8

简单8

1.什么叫SQL注入?如何防止?请举例说明8

2.如果有100万条记录,请问你如何优化表结构查询提高速度?.……9

3.string与stringBuilder的区另!J9

4.XML与Html的区别9

5.如何动态遍历页面中所有TextBox,Coinbox控件,并给Text属性赋

空10

6.一列数的规则如下:1、1、2、3、5、8..求第30位数是多少,用递

归算法实现。11

7.请编程实现一个冒泡排序算法?11

8.写出抽象类和接口的定义,并描述两者的区别。12

9.在c#中using和new这两个关键字有什么意义,请写出你所知道的

意义?13

10.override与重载的区另U16

11.用sealed修饰的类有什么特点16

12.net中接口是否可以继承接口?抽象类是否可以实现接口?抽象类是

否可以继承实体类?16

13.a=10,b二15,在不用第三方变题的前提下,把a,b的值互换…….16

14..net中()方法可以把虚拟路径转换成物理路径Response..17

15.接口中不能包含以下哪几项()方法,属性,字段,事件,索引器,

构造函数,析构函数17

16.ASP常用的6大对象,并说出其功能;17

17.C#中什么是泛型和泛型的集合?18

18.什么是委托,怎么定义一个委托?18

19.C#中关于Struct和Class的区别?18

20简述private,protected,public,internal修饰符的访问权限...19

21.代码判断题19

22、中连接数据库的几个对象,各有什么用处20

23.请说出int与integer的区另U21

24.JavaScript的变量作用域。21

25.什么叫装箱,什么叫拆箱?[易]21

26.什么是反射?什么是委托?(易)21

27.如果Bb=newB();bPrintfields()22

28.什么是虚函数?什么是抽象函数?什么是反射?22

29.谈谈解决session丢失的方法。23

30.写一个你最熟悉的函数,输出“hello,world!”(易)23

31.面向对象的特点23

32.编写一个简单模型实现定义的接口,实现接口和使用接口。(易)23

33.页面中有两个文本框和一个按钮,当点击按钮时交换两个文本框的

内容!但是单击按时不能互换,你认为问题出在哪?怎么样解决。.24

34.用THML实现上面表格,你要绘制的表格如下:25

35.C#或java语言中abstractclass和interface有什么区别?..…26

36.请说明C#与java语言中,方法中参数传递有哪几种方式?C#中参

数传递中设置ref或out关键字时,有什么区别及作用?27

37.序列化有什么作用?27

38.stringstr=null和stringstr=""有什么区别?...27

39.项目中用过哪些第三方控件27

40.比asp有什么改进?28

41代码解读28

42现在有空白窗体"Forml”,请用代码在该窗体上随机添加1至10个

Buttono29

43.使用递归的方式将“treeViewl”中的所有结点的标签(Text属性)

添加至“listViewl”中。29

44.代码找错30

45.用HTML实现上面表格31

46.写一个判断某正整数是否是素数的函数。32

47、你了解CSS吗,谈谈项目中你对CSS的运用。33

48、Ado.Net中连接池的作用和原理?33

49、简述ASP.NET页面的生命周期33

50>out参数修饰符和ref参数修饰符的区别?36

51、装箱,拆箱的缺点是什么?用什么方法改善?37

52、c#中用什么工具进行单元测试和模块测试的?37

53、c#中字段和属性的区别?37

54、在ADO.NET中,你对连接池的理解。37

55.、谈谈在ASP.NET中,设置分页时,使用存储过程的好处,和存储

过程的工作原理。38

56、Ajax的核心对象是什么?38

中等38

1.StrTemp是string变量包含一些空格和字母,除去所有空格,并

找英文字母,按顺序排列38

2.从面向对象的角度思考,什么是多态。39

3.Session有什么重大的BUG,微软提出了什么方法加以解决?...39

4.CTS、CLS、CLR分别作何解释?39

5.C\S和B\S的区别。39

6.软件工程的最终目的(开发出高质量的软件)41

7、什么是设计模式?列出你所知道的儿种写出名称41

8.写一个判断某正整数是否是素数的函数。42

9.类设计:写一个学生选课系统,C#语言,定义类以及每个类的基本属

性和方法,方法只写方法名和注释即可。42

10.如何解决数据库的并发访问(中)42

H.请描述一下MVC结构,什么是数据库中的视图,存储过程,事务43

12.什么是深拷贝,浅拷贝?浅拷贝经常会出现什么问题?44

13.谈谈你对Webservice的解释44

14.解释一下UDDI、WSDL的意义及其作用?45

15什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装

箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?45

16.进程和线程分别该怎么理解?45

17.Collection和Collections的区另lj?46

18.Error和Exception有是区另ij?46

19.GC是什么机制?46

20.Ajax返回状态有几种?都是什么?47

21.说一下你对多线程、线程池的理解48

较难48

1.有一个3L和5L的杯子,怎样量出4L?用公式表达48

2.写出软件的开发流程48

3.九宫格,里面有个一个球,要求每当鼠标移动到小球上,小球就像相

邻的格里移动,说出思路49

4查找页面上所有TextBox并把文本设为空。50

5.看代码,写结果:51

6.你平常的项目是怎么样架构的?52

7、简述List、set、Map各实现哪些接口,有什么区别54

8、有一个Double型变量,不同的国家存放不同的数据,美国习惯用

$10321.50,英国习惯用£10321.50,请问用什么方法可以按照不同国

家的习惯进行输出?(中)55

9.程序访问数据库记录速度很慢,分析什么原因造成以及解决办法。

55

10.游标的声明与使用,如何判断记录已到达最末尾56

11.如何用JavaScript实现一个浮动图片,可以随滚动条的移动而移动

57

12.什么是面向对象?57

13.抽象工厂模式和工厂模式的区别?(易)58

14.编写一个ADO.NET中的事务的使用模型。(难)59

15.Heap与stack的差别?61

16.能用foreach遍历访问的对象需要实现?61

17.如何理解.net中的垃圾回收机制?61

18.UDP和TCP连接有和异同?61

19、给出三个正整数K,M,N,求M的K次方除以N的余数(伪代码即可),

K,M,N均为2T0000之间的整数,请考虑溢出问题。62

20、编程计算100000的阶乘末尾0的个数,伪代码或讲明思路即可(提

供估算方法也可以)(5的阶乘二120,某尾有1个0)62

21、从2-32-1个无序的Int64中,找到中位数(排序后,处于最中

间的那个数),你会采取什么样的办法。(假设数据读取的速度很快,方

法请酌情考虑运算复杂度及空间复杂度)堆排序或者基数排序63

选择题部分:64

简单64

中等74

较难79

SQLSERVER部分80

简单80

1.什么是inserted表?什么是deleted表?80

2..在成绩表中,效率60分为不及格,大于60分为及格,大于80分为

优秀,请用一条SQL语句查询。83

3.tb_send表中有日期时间字段SendTime,请用SQL语句查处当天所有

记录83

4.sql查询,表table(id,las表pdateDate);第一个字段为标识列,第

二个为最后更新时间。使用一条sql语句查出最近一次的修改时间.83

5.举例写出表的左右关联查询(易)84

6.看表写SQL84

中等85

1.查询表中stuAge字段有重复值的数据:85

2.用table2中科目余额更新tablel中的科目余额,不在table2中出

现的科目不更新。85

3.查出表中11到20条记录,ID作为主键(ID可能不是连续的);.86

4.SQL语句编写T表前10行记录,总行数。(易)87

5.看表数据写sql语句87

6、请问列触发器的使用以及在什么情况下使用触发器88

较难89

1.看表,写出实现的SQL语句89

上机题部分91

1.WINFORM上机(TREEVIEW,LISTVIEW)91

2.GRIDVIEW&自定义样式:92

3.ASP.NET上机(GRIDVIEW)92

4.ASP.NET上机(DROPDOWNLIST&GRIDVIEW)92

5.使用WINFORM绘图93

6.用ASP.NET实现登陆93

7.GRIDVIEW操作93

8.GRIDVIEW实现增、删、改、查94

9.算法题94

10.ASP.NET上机(1至2天完成)94

11.ASP.NET上机(1至2天完成)95

.Net部分

简单

1.什么叫SQL注入?如何防止?请举例说明

答:SQL注入是常见的利用程序漏洞进行攻击的方法。导致sql注入攻击

并非系统造成的,主要是程序中忽略了安全因素,利用sql语言漏洞获得

合法身份登陆系统

例如:

"Select*fromuserswherename="'+uName+"'andpwd="'+uPwd+"'"

如用户在t_name中输入tom,or1=41就可以进入系统了。

生成语句:

Select*fromuserswherename='tom'or1=Tandpwd=t123,

防止sql注入的方法有如下几点:

使用参数化过滤语句

在web应用程序的开发过程中所有阶段实施代码安全检察

使用存储过程

2.如果有100万条记录,请问你如何优化表结构查询提高速度?

答:1.合理的使用索引(例如在频繁作为条件的列,经常作为排序或分组

的列)

2.只查询必要的列,避免*

3.避免或简化排序

4.使用存储过程

5.使用dataReader读取数据

6.使用reapter控件显示

3.string与stringBuiIder的区别

答:string对象在内存中是只读的,每次在调用string类方法是,都要在内

存中创建一个新的字符串对象。StringBuilder可以修改字符串而不创建新

的对象。

4.XML与Html的区别

答:xml[extensibleMarkupLanguage](可扩展标记语言)提供一种描述结

构化数据的方法。

Html(超文本标记语言)主要用于控制数据的显示和外观。

区别:

XML是区分大小写字母的,HTML不区分。

在HTML中,如果上下文清楚地显示出段落或者列表键在何处结尾,那么

你可以省略或者之类的结束标记。在XML中,绝对不能省略掉结束标记。

在XML中,拥有单个标记而没有匹配的结束标记的元素必须用一个/字

符作为结尾。这样分析器就知道不用查找结束标记了。

在XML中,属性值必须分装在引号中。在HTML中,引号是可用可不用

的。

在HTML中,可以拥有不带值的属性名。在XML中,所有的属性都必须

带有相应的值。

5.如何动态遍历页面中所有TextBox,Combox控件,并给Text属性赋空

答:foreach(Controlctlinthis.Controls)

(

if(ctlisTextBoxIIctlisComboBox)

ctl.Text=string.Empty;

}

6.一列数的规则如下: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);

}

}

7.请编程实现一个冒泡排序算法?

答:

int[]array=newint[*];

inttemp=0;

for(inti=0;i<array.Length-1;i++)

for(intj=i+1;j<array.Length;j++)

(

if(array[j]<array[i])

(

temp=array[i];

array[i]=array[j];

array[j]=temp;

}

)

)

8.写出抽象类和接口的定义,并描述两者的区别。

答:声明方法的存在而不去实现它的类被叫做抽像类(abstractclass),它

用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该

类中实现该类的情况。

不能创建abstract类的实例。然而可以创建一个变量,其类型是一个抽像

类,并让它指向具体子类的一个实例。

不能有抽像构造函数或抽像静态方法。

Abstract类的子类为它们父类中的所有抽像方法提供实现,否则它们也是

抽像类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在

类中实现这些方法。

接口(interface)是抽像类的变体。在接口中,所有方法都是抽像的。

多继承性可通过实现这样的接口而获得。接口只可以定义staticfinal成员

变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。

当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。

然后,它可以在实现了该接口的类的任何对像上调用接口的方法。

9.在c#中using和new这两个关键字有什么意义,请写出你所知道的意

义?

答:using:

1)引入命名空间

2)using别名。using+别名=包括详细命名空间信息的具体的类型。

3)定义一个范围,在范围结束时处理对象。

new:

1)new运算符:用于创建对象和调用构造函数。

2)new修饰符:在用作修饰符时,new关键字可以显式隐藏从基类继

承的成员。

3)new约束:用于在泛型声明中约束可能用作类型参数的参数的类型。

例:

namespaceWindowsApplication6

publicclassEmployee

privatestringname;

privateintid;

publicEmployee()

(

name=〃Tlemp〃;

id=0;

}

publicEmployee(strings,inti)

{

name=s;

id=i;

}

publicstringName

{

get{returnname;}

set{name=value;}

)

publicintID

get{returnid;}

set{id=value;}

}

classItemFactory<T>whereT:new()

publicTGetNewItemO

returnnewT();

)

privatevoidbtnTestClick(objectsender,EventArgse)

ItemFactory<Employee>EmployeeFactory=new

ItemFactory<Employee>();

〃〃此处编译器会检查Employee是否具有公有的无参构造

函数。

〃若没有则会有TheEmployeemusthaveapublic

parameterlessconstructor错误。

Console.WriteLine(,?{0}?IDis{1}.〃,

EmployeeFactory.GetNewItemO.Name,

EmployeeFactory.GetNewItemO.ID);

J

10.override与重载的区别

答:override与重载的区别。重载是方法的名称相同。参数或参数类型不

同,进行多次重载以适应不同的需要

Override是进行基类中函数的重写。为了适应需要。

11.用sealed修饰的类有什么特点

答:sealed修饰符用于防止从所修饰的类派生出其它类。如果一个密封类

被指定为其它类的基类,则会发生编译时错误。密封类不能同时为抽象类。

12.net中接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否

可以继承实体类?

答:net中接口可以继承接口,抽象类可以实现接口,抽象类可以继承实

体类。

13.a=10,b=15,在不用第三方变题的前提下,把a,b的值互换

答:a=a+b;b=a-b;a=a-b;

14..net中()方法可以把虚拟路径转换成物理路径Response

答:Server.M叩Path。;

Request.MapPath();

15.接口中不能包含以下哪几项()方法,属性,字段,事件,索引器,

构造函数,析构函数

答:字段构造函数析构函数

16.ASP常用的6大对象,并说出其功能;

答:asp包含以下6大对象:

1)Request对象:封装了由web浏览器或其他客户端生成的http请求的细

节(参数,属性和数据),提供从浏览器读取信息或者读取客户端信息等

功能,用于页面请求期。

2)Response对象:封装了返回到http客户端的输出,提供向浏览器输出

信息或发送指令,用于页面执行期。

3)Server对象:提供对服务器上的方法和属性的访问。其中大多数方法

和属性是作为实用程序的功能服务的。

4)ObjectContext对象:该对象用于控制ActiveServerPages的事务处理。

事务处理由MicrosoftTransactionServer(MTS)管理。

5)Server对象:Server对象提供对服务器上的方法和属性的访问。其中大

多数方法和属性是作为实用程序的功能服务的。

6)Session对象:为某个用户提供共享信息,作用于用户会话期。

17.C#中什么是泛型和泛型的集合?

答:泛型:泛型是C#2.0的最强大的功能。通过泛型可以定义类型安全

的数据结构,而无须使用实际的数据类型。这能够显著提高性能并得到更

高质量的代码,因为您可以重用数据处理算法,而无须复制类型特定的代

码。在概念上,泛型类似于C++模板,但是在实现和功能方面存在明显

差异。

泛型的集合:泛型集合是泛型的最显著应用,可以约束类内的元素类型,

比较典型的泛型集合是ListvT>和Dictionary<K,V>

18.什么是委托,怎么定义一个委托?

答:委托是指具有相同属性(也称具有相同的函数签名:返回类型相同,

参数类型、参数顺序及参数个数相同)的函数或方法的抽象,关键字为

delegatee主要用途是三个:1)函数回调;2)传递方法;3)事件机制

定义委托的格式:

[作用域]delegate〈返回类型)委托名([参数列表]);

19.C#中关于Struct和Class的区别?

答:在.net中,类与结构的区别如下:

类属于引用类型,而结构属于值类型

类可以被继承,而结构不能被继承

类可以有默认的构造函数,而结构没有默认构造函数

类可自行添加无参构造函数,机构不能添加无参构造函数,可手动添加有

参构造

类在创建对象时必须使用new关键字,结构可不用new

类中的字段在声明时可赋初值,结构在声明字段时不能赋初值

类和结构的相同点:

都可包含字段,属性和方法

都可以实现接口

20简述private,protected,public,internal修饰符的访问权限

答:

类内同一程序集同一程序集不同程序集不同程序集

部的派生类的其他类的派生类的其他类

private可以不可以不可以不可以不可以

Protected可以可以不可以可以不可以

Internal可以可以可以不可以不可以

Public可以可以可以可以可以

21.代码判断题

namespacea

publicclassA{

protectedstringstr="str";

)

)

namespaceb

{

usinga;

publicclassB{

publicstaticvoidMain()

(

Aobj=newA();

obj.str="abc";

}

)

)

以上代码能否正确编译,为什么?

答,无法通过编译,B类不能访问A类的protected成员。

22、中连接数据库的几个对象,各有什么用处

答:A中连接数据库主要有一下几个对象:

Connection:建立与特定数据源的连接

Command:对数据源执行命令

DataReader:从数据源中读取只进且只读的数据流

DataAd叩ter:用数据源填充DataSet并解析更新

Parmaeter:表示Command的参数

Transaction:表示要在数据源执行的SQL事务

23.请说出int与integer的区别

答:int属与c#中定义int32的整数类型,integer在用于定义整形变

24.JavaScript的变量作用域。

答:JavaScript的变量作用域如下:

A)全局变量:在整个页面都可访问,声明在Script块内

B)局部变量:只在方法中可用,声明在函数体内

注:javascript的变脸可不声明直接使用,如果在函数内直接使用了一个变

量,如函数外没有同名变脸的声明,则此变量为局部变量

25.什么叫装箱,什么叫拆箱?[易]

答:

将值类型转换为引用类型的过程称为装箱

反之称为拆箱

26.什么是反射?什么是委托?(易)

答:可以获取有关已加载的程序集和在其中定义的类型(如类、接口和值

类型)的信息。使用反射在运行时创建类型实例,以及调用和访问这些实

例。

27.如果Bb=newB();bPrintfields()

以下代码输出结果为?

ClassA

{PublicA(){PrintFields();}

PublicvirtualvoidPrintFields()

(}

)

ClassB:A

{intx=10;inty;

PublicB(){y=10}

PublicoverridevoidPrintFields()

{consoleWriteLine(<4x={0},y={1},,,x,y);)

)

答:如果代码正确运行的话

x=10,y=0

x=10,y=10

28.什么是虚函数?什么是抽象函数?什么是反射?

答:

虚函数>被virtual关键字修饰的成员函数

抽象函数〉没有给出具体解析式的函数

反射,提供了封装程序集、模块和类型的对象

29.谈谈解决session丢失的方法。

答:延长session的保存时间,加内存。

30.写一个你最熟悉的函数,输出“hello,world!”(易)

classxxx{

publicstaticvoidmain(stirng[]args)

{System.Console.WriteC'hello,world!");}

}

31.面向对象的特点

答:封装,继承,多态

有一串字符、B','D','A',、E、,、H','G、,'S',、M',F对字串从小到大

进行排序,写出关键代码(易)

答:

Char[]chs=newchar[]{'B\'D','A','E','H','G','S',、M、,'F'};

Array.Sort(chs);

32.编写一个简单模型实现定义的接口,实现接口和使用接口。(易)

答:interfaceITest{voidTestMethod()}

classTestITest{voidTestMethod(){Console.WriteCtaaa,^);}}

ITestt=newTest();

t.TestMethod();

33.页面中有两个文本框和一个按钮,当点击按钮时交换两个文本框的内

容!但是单击按时不能互换,你认为问题出在哪?怎么样解决。

Privatevoidpage_load(objectsender,System.Eventhings.e)

|

This.TextBoxl.Text="Thisisthefirstrequesttothisage”;

This.TextBox2.Text="Exchagethecontentofthetwotextboxs”;

}

PrivatevoidButtonl_Click(objectsenderl,System.Eventhings.e)

(

Stringtemp=This.TextBox1.Text;

This.TextBox1.Text=This.TextBox2.Text;

This.TextBox2.Text=temp;

)

答:IsPostBack;

if(!IsPostBack){

This.TextBox1.Text=,,Thisisthefirstrequesttothisage”;

This.TextBox2.Text="Exchagethecontentofthetwotextboxs”;

}

34.用THML实现上面表格,你要绘制的表格如下:

员工信息

姓名性别照片

联系地址联系电话

答:

<tableborder="l">

<tralign="center">

<tdcolspan="5">员工信息</td>

</tr>

<tr>

<tdwidth="87">姓名</td>

<tdwidth="63"> </td>

<tdwidth二“93">性别</td>

<tdwidth="93"> </td>

<tdwidth="86"rowspan="2"align="center"valign="top">^>Mr</td>

</tr>

<tr>

vtd>联系地址v/td>

<td> </td>

vtd>联系电话v/td>

<td> </td>

</tr>

</table>

35.C#或java语言中abstractclass和interface有什么区别?

答:声明方法的存在而不去实现它的类被叫做抽象类(abstractclass),

它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在

该类中实现该类的情况。不能创建abstract类的实例。然而可以创建一个

变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽

象构造函数或抽象静态方法。Abstract类的子类为它们父类中的所有抽象

方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。

知道其行为的其它类可以在类中实现这些方法。接口(interface)是抽象

类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的

接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只

可以定义staticfinal成员变量。接口的实现与子类相似,除了该实现类不

能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给

予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象

上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类

型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,

instanceof运算符可以用来决定某对象的类是否实现了接口

36.请说明C#与java语言中,方法中参数传递有哪几种方式?C#中参数

传递中设置ref或out关键字时,有什么区别及作用?

答out适合用在需要retrun多个返回值的地方,而ref则用在需要被调

用的方法修改调用者的引用的时候

37.序列化有什么作用?

答:将对象转换为另一种媒介传输的格式过程。如,序列化一个对象,用

Http通过internet在客户端和服务器之间传递该对象,在另一端用反序列

化从该流中重新得到对象

38.stringstr=null和stringstr="”有什么区别?

答:stringstr=null;

不在内存中开辟空间

stringstr="";

在内存中开辟空间,但空间中没有值也是一个字符串)

39.项目中用过哪些第三方控件

答:AspNetPager>WebValidates>FreeTextBox等

40.比asp有什么改进?

答:1)ASP使用的VBScript,JAVA,它把脚本语言直接嵌入Html文档

中.应用处理与html标记混杂在一起从而不易分辨,性能不易扩充,脚本

语言的功能有限。A采用页面与代码相分离技术

2)更丰富的类库

3)VSstudio开发环境

4)不管是执行速度,安全性,编程性,目前的市场性都是教强

——叱

41代码解读

.(script)

functionok()

{

alert(〃hehe〃);

}

</script>

<formonSubmit=,,ok()

<inputtype=〃submit〃/>

</form>

会发生什么?

答:表单提交时先弹出消息框,然后提交

42现在有空白窗体"Forml”,请用代码在该窗体上随机添加1至10个

Buttono

答:

Randomr=newRandom();

PublicvoidAddButtons()

(

for(inti=0;i<r.Next(11);i++)

(

this.Controls.Add(newButtong());

}

}

43.使用递归的方式将“treeViewl”中的所有结点的标签(Text属性)

添加至“listViewl”中。

答:

publicvoidToListView(TreeViewtvwSource)

{

foreach(TreeNodetndintvwSource.Nodes)

NodeToItem(tnd);

voidNodeToltem(TreeNodetnd)

listViewl.Items.Add(tnd.Text);

foreach(TreeNodetmpintnd.ChildNodes)

{

NodeToItem(tmp);

}

}

44.代码找错

在一个页面中有两个文本框和一个按钮,当点击按钮时交换两个文本框的

内容!但是单击按时不能互换,你认为问题出在哪?怎么样解决。

Privatevoidpage_load(objectsender,System.Eventhings,e)

]

This.TextBoxl.Text=vThisisthefirstrequesttothisage”;

This.TextBox2.Text="Exchagethecontentofthetwotextboxs”;

}

PrivatevoidButtonl_Click(objectsenderl,System.Eventhings,e)

Stringtemp=This.TextBoxl.Text;

This.TextBoxl.Text=This.TextBox2.Text;

This.TextBox2.Text=temp;

答:在page_load事件中添加IsPostBack判断。

45.用HTML实现上面表格

员工信息

姓名性别照片

联系地址联系电话

答:<tableborder=〃l〃cellspacing="0〃cellpadding=〃0〃>

<tr>

<tdwidth=〃568〃colspan="5〃valign=,,top,,Xp>员工信息

</p></td>

</tr>

<tr>

<tdwidth="114"valign二〃top〃Xp>姓名</p></td>

<tdwidth=〃114〃valign=,,top,,Xp> </p></td>

<tdwidth="114〃valign二〃top〃Xp>性别</p></td>

<tdwidth=〃114〃valign=,,top,,Xp> </p></td>

<tdwidth="114〃rowspan=〃2〃valign=〃top"Xp>照片</p></td>

</tr>

<tr>

<tdwidth="114”丫211811二"1:(^〃>。>联系地址</p></td>

<tdwidth="114"valign=,,top,,Xp> </p></td>

<tdwidth="114"valign二〃top〃Xp>联系电话</p></td>

<tdwidth="114〃valign=,,top,,Xp> </p></td>

</tr>

</table>

46.写一个判断某正整数是否是素数的函数。

答:

boolIsPrimeNumber(uintx)

{

for(uinti=2;i<x;i++)

(

if(x%i==0)

returnfalse;

)

returntrue;

47、你了解CSS吗,谈谈项目中你对CSS的运用。

答:级联样式表,控制HTML等标记语言的一种方式.能够扩展标记的样式

特性。集中在儿个css文件中,方便控制整体风格的变更。

48、Ado.Net中连接池的作用和原理?

答:减少连接对象的创建和释放的开销,使得频繁操作数据库的开销降低。

49、简述ASP.NET页面的生命周期.

答:页面生命周期

页面生命周期执行一系列步骤:页面的初始化、实例化控件、还原和维护

状态、运行事件处理程序代码、呈现。为了在合适的阶段执行所需的代码,

所以要对页面生命周期非常熟悉。在页生命周期的各个阶段,页面会逐个

引发定义的事件,通过对代码开发,在页面的生命事件中执行我们所需要

的程序

页生命周期阶段

1、页请求:发生在页面生命周期之前,用户请求页时,ASP.NET将确

定是否需要分析和编译页,从而确定是否开始页面的生命周期,或者是否

可以在不运行页的情况下发送页面缓存以进行响应。

2、开始:设置页属性,如:HttpContext以及其他属性;在此阶段,页

面需要确定是回发请求还是新请求,并设置IsPostBack属性;设置页面的

UlCulture属性。

3、页面初始化:加载所有主题;控件生成,并设置UniquelD;

注:ViewState、ControlState中的值还未加载至控件;如果页面是回发,则

回发数据也还未加载;故此时控件可以访问,但值可能出错。

4、加载:如果当前请求是回发请求,则为控件加载ViewState和

ControlState中的值。

5、验证:调用所有验证程序控件的Validate方法,此方法将设置验证程

序控件和页的IsValid属性。

6、回发事件处理:如果请求是回发请求,则调用所有事件处理程序。

7、呈现:首先对该页和所有控件进行保存视图状态,然后对每个控件

调用Render方法,它会提供一个文本编写器,用于将控件的输入写入页

的Response属性的Outputstream中。

8、卸载:完成呈现,并已将页发送至客户端、准备丢弃该页后,调用

卸载。将卸载属性如:Response和Request等等。

页生命周期事件:

1、Prelnit

完成操作:检查IsPostBack属性来确定是不是第一次处理该页;

创建或重新创建动态控件

动态设置主控页

动态设置Theme属性

读取或设置配置文件属性

注:如果请求是回发请求,则控件的值尚未从视图状态恢复,即:不应该

在此事件中设置控件属性。

2、Init

完成操作:在所有控件都已经初始化并且应用所有外观设置后引发。使用

该事件来读取和初始化控件属性。

3、InitComplete

完成操作:由Page对象引发,使用该事件来处理要求完成所有初始化工

作的任务。

4、PreLoad

完成操作:为页和所有控件加载视图状态,然后处理Request实例包括的

任何回发数据。

注:如果需要在Load之前对页或控件进行处理,需要该事件。

5、Load

完成操作:以递归方式加载所有控件。

6、控件事件

完成操作:处理控件引发的事件。

注:在回发请求中,如果页包含验证程序控件,请在执行任何处理之前检

查Page和各个验证控件的IsValid属性。

7、LoadComplete

8、PreRender

在控件输出前最后的修改机会。

注:在该事件发生前的操作:

Page对所有控件递归进行EnsureChildControl操作

设置了DataSourcelD属性的数据绑定控件会调用DataBind方法。

9、SaveStateComplete

在该事件发生前,已经对控件的ViewState进行了保存。将忽略对页和控

件所作的所有修改。

10>Render

方法,便于开发

11、UnLoad

50、out参数修饰符和ref参数修饰符的区别?

答:out一个引用传递

1、如果一个方法中的变量在使用out作为参数时,在方法中对out参数所

作的更改都会反映到该变量。

2、若要使用。ut参数,方法定义以及方法的调用都必须显示使用out关键

字;

3、不必初始化作为。ut参数传递的变量,因为。ut参数在进入方法后清空

自己,也因为这个原因必须在方法返回之前为。ut参数赋值。(只有地址没

有值的参数是不能被.NET接受的)。ref要求变量必须在传递之前进行初始

化。

ref—-仅仅是一个地址!

1、当一个方法在使用ref参数时,在方法中对ref参数所作的任何更改都

将反映在该变量中。

2、如果使用ref参数,则必须将参数作为ref参数显示传递到方法。ref参

数的值可以被传递到ref参数。

3、ref参数传递的变量必须初始化,因为ref参数在进入方法后还是它自

己,它这个地址指向的还是原来的值,正因为这个原因ref参数可以在使

用它的方法内部不操作。这与out不同,out的参数在传递之前不需要显示

初始化。

51、装箱,拆箱的缺点是什么?用什么方法改善?

答:需要强制的类型转换,内部生成新的对象,效率低下。可以使用泛型

解决

52、c#中用什么工具进行单元测试和模块测试的?

答:MicrosoftVisualStudioTeamSystem2008TestEdition

53、c#中字段和属性的区别?

字段是类的内部存储数据用的,属性的本质是方法

54、在ADO.NET中,你对连接池的理解。

答:当net打开连接后,使用完毕,虽然调用close但是并没有销毁,而是

闲置等待被重用,这就是连接池的作用,速度比较快

55.、谈谈在ASP.NET中,设置分页时,使用存储过程的好处,和存储过

程的工作原理。

对数据库和程序的压力都比较小,存储过程的分页原理在主键的合理用,

同计算得到最终定位的项目上

56、Ajax的核心对象是什么?

答:Javascript,DOM,CSS,xmlhttprequest

中等

1.StrTemp是string变量包含一些空格和字母,除去所有空格,并找

英文字母,按顺序排列

答:

〃去除中文:

strings="abcab-中文123fdDAFDASFaf”;

s=System.Text.RegularExpressions.Regex.Replace(s,"[Aa-zI

A-Z]",

char[Jarr=s.ToCharArrayO;

Array.Sort(arr);

s=newstring(arr);

MessageBox.Show(s);

2.从面向对象的角度思考,什么是多态。

答:多态是指两个或多个属于不同类的对象,对于同一个消息(方法调用)

作出不同响应的方式。

3.Session有什么重大的BUG,微软提出了什么方法加以解决?

答:是iis中由于有进程回收机制,系统繁忙的话Session会丢失,可以用

Sateserver或SQLServer数据库的方式存储Session不过这种方式比较慢,

而且无法捕获Session的END事件。

4.CTS、CLS、CLR分别作何解释?

答:CTS:通用语言系统。CLS:通用语言规范。CLR:公共语言运行时。

5.C\S和B\S的区别。

答:C/S与B/S区别:

Client/Server是建立在局域网的基础上的.Browser/Server是建立在广域网

的基础上的.

1.硬件环境不同:

C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过

专门服务器提供连接和数据交换服务.

B/S建立在广域网之上的,不必是专门的网络硬件环境,例与电话上网,租

用设备.信息自己管理.有比C/S更强的适应范围,一般只要有操作系统

和浏览器就行

2.对安全要求不同

C/S一般面向相对固定的用户群,对信息安全的控制能力很强.一般高度

机密的信息系统采用C/S结构适宜.可以通过B/S发布部分可公开信息.

B/S建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户

群.

3.对程序架构不同

C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可

以较少考虑.

B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上.

比C/S有更高的要求B/S结构的程序架构是发展的趋势,从MS的.Net系

列的BizTalk2000Exchange2000等,全面支持网络的构件搭建的系统.

SUN和IBM推的JavaBean构件技术等,使B/S更加成熟.

4.软件重用不同

C/S程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的

构件的重用性好.

B/S对的多重结构,要求构件相对独立的功能.能够相对较好的重用.就入

买来的餐桌可以再利用,而不是做在墙上的石头桌子

5.系统维护不同

系统维护是软件生存周期中,开销大,—重要

C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级.升

级难.可能是再做一个全新的系统

B/S构件组成,方面构件个别的更换,实现系统的无缝升级.系统维护开销

减到最小.用户从网上自己下载安装就可以实现升级.

6.处理问题不同

C/S程序可以处理用户面固定,并且在相同区域,安全要求高需求,与操

作系统相关.应该都是相同的系统

B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到

的.与操作系统平台关系最小.

7.用户接口不同

C/S多是建立的Window平台上,表现方法有限,对程序员普遍要求较高

B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流.并且大

部分难度减低,减低开发成本.

8.信息流不同

C/S程序一般是典型的中央集权的机械式处理,交互性相对低

B/S信息流向可变化,B-BB-CB-G等信息、流向的变化,更象交易中心

6.软件工程的最终目的(开发出高质量的软件)

答:软件开发完成后随时维护

软件开发完成之后不在进行维护

开发出高质量的软件

7、什么是设计模式?列出你所知道的几种写出名称

答:设计模式(Designpattern)是一套被反复使用、多数人知晓的、经

过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、

让代码更容易被他人理解、保证代码可靠性。Strategy,Visitor,MethodFactory

8.写一个判断某正整数是否是素数的函数。

答:publicstaticboolisPrime(inta)

(

inti;

for(i=2;i<a;i++)

(

if(Math.IEEERemainder((float)a,(float)i)==0)

returnfalse;

}

returntrue;

)

9.类设计:写一个学生选课系统,C#语言,定义类以及每个类的基本属性

和方法,方法只写方法名和注释即可。

答:classstudent{stringname,intage,List<course>courses}class

course{stringtitle}

10.如何解决数据库的并发访问(中)

答案:引入锁机制。

11.请描述一下MVC结构,什么是数据库中的视图,存储过程,事务

答:MVC

MVC模式是"Model-View-ControIler”的缩写,中文翻译为“模式-视图-

控制器〃。

一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改

变。一个应用的业务流程或者业务规则的改变只需改动MVC的模型层。

控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一

起完成不同的请求,因此,控制层可以说是包含了用户请求权限的概

念。

最后,它还有利于软件工程化管理。由于不同的层各司其职,每一层

不同的应用具有某些相同的特征,有利于通过工程化、工具化产生管

理程序代码。

视图:一个视图是由SELECT语句组成的查询定义的虚拟表

存储过程:存储过程(StoredProcedure)是一组为了完成特定功能

的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的

名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是

数据库中的一个重要对象。

事务:事务(Transaction)是访问并可能更新数据库中各种数据项的

一个程序执行单元(unit)。事务是恢复和并发控制的基本单位。

事务应该具有4个属性:原子性、一致性、隔离性、持续性。这

四个属性通常称为ACID特性。

原子性(atomicity)□一个事务是一个不可分割的工作单位,事

务中包括的诸操作要么都做,要么都不做。

一致性(consistency)。事务必须是使数据库从一个一致性状态

变到另一个一致性状态。一致性与原子性是密切相关的。

隔离性(isolation)。一个事务的执行不能被其他事务干扰。即

一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发

执行的各个事务之间不能互相干扰。

持久性(durability)o持续性也称永久性(permanence),指

一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接

下来的其他操作或故障不应该对其有任何影响。

12.什么是深拷贝,浅拷贝?浅拷贝经常会出现什么问题?

答:浅拷贝指的是你的类本身被拷贝,而没有拷贝类本身属性中的

深拷贝指的是包含类本身和属性类在内的所有类的拷贝。

13.谈谈你对Webservice的解释

答:WebService主要是为了使原来各孤立的站点之间的信息能够相互通

信、共享而提出的一种接口。WebService所使用的是Internet上统一、

开放的标准,如HTTP、XML、SOAP(简单对象访问协议)、WSDL等,

所以WebService可以在任何支持这些标准的环境(Windows,Linux)中使

用。注:SOAP协议(SimpleObjectAccessProtocal,简单对象访问协议),

它是一个用于分散和分布式环境下网络信息交换的基于XML的通讯协

议。在此协议下,软件组件或应用程序能够通过标准的HTTP协议进行通

讯。它的设计目标就是简单性和扩展性,这有助于大量异构程序和平台之

间的互操作性,从而使存在的应用程序能够被广泛的用户访问。

14.解释一下UDDI、WSDL的意义及其作用?

答:UDDI是统一描述集成协议,是一套基于Web的,分布式的,为

WEB服务提供的信息注册的实现标准规范,同时为也是为企业本身提供

的Web服务注册以让别的企业能够发现并访问的协议标准。提供了基于标

准的规范,用于描述和发现服务,还提供了一组基于因特网的实现。

15什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和

拆箱?什么是重载?CTS、CLS和CLR分别作何解释?

答:应用程序域:就是为安全性,可靠性,隔离性,和版本控制,及

卸载程序提供的隔离边界。它通常由运行库宿主创建,应用程序域提供了

一个更安全,用途更广的处理单元。

托管代码:使用CLR编译语言编辑器开发编写的代码就叫托管代码。

装箱和拆箱:是把值类型转换为引用类型的过程,是隐式的,相反的

过程就是拆箱,是显式的。

CTS是公共类型系统,CLS是公共语言规范,CLR公共语言运行库。

强类型系统:每个变量和对象都必须具有申明类型。

16.进程和线程分别该怎么理解?

答:进程是比线程大的程序运行单元,都是由操作系统所体会的系

统运行单元,一个程序中至少要有一个进程,有一个进程中,至少要有一

个线程,线程的划分尺度要比进程要小,进程拥有独立的内存单元,线程

是共享内存,从而极大的提高了程序的运行效率同一个进程中的多个线程

可以并发执行。

17.Collection和Collections的区别?

答:Collection是集合类的上级接口,Collections是针对集合类的一个

帮助类,它提供一系列静态方法来实现对各种集合的搜索,排序,线程安

全化操作。

18.Error和Exception有是区别?

答:error表示恢复不是不可能,但是很困难,exception表示一种实际

或实现问题,它表示程序运行正常不可以发生的。

19.GC是什么机制?

答:GC是垃圾收集器。

程序员不用担心内存管理,因为垃圾收集器会自动进行管理。

要请求垃圾收集,可以调用下面的方法之一:

System,gc()

Runtime.getRuntime().gc()

不过在C#中不能直接实现Finalize方法,而是在析构函数中调用基类的

Finalize()方法

如何理解.net中的垃圾回收机制呢?

.NETFramework的垃圾回收器管理应用程序的内存分配和释放。

每次您使用new运算符创建对象时,运行库都从托管堆为该对象分配内

存。

只要托管堆中有地址空间可用,运行库就会继续为新对象分配空间。

但是,内存不是无限大的。最终,垃圾回收器必须执行回收以释放一些内

存。

垃圾回收器优化引擎根据正在进行的分配情况确定执行回收的最佳时间。

当垃圾回收器执行回收时,它检查托管堆中不再被应用程序使用的对象并

执行必要的操作来回收它们占用的内存。

20.Ajax返回状态有几种?都是什么?

答:readyState表示XMLHttpRequest对象的处理状态:

O:XMLHttpRequest对象还没有完成初始化。

1:XMLHttpRequest对象开始发送请求。

2:XMLHttpRequest对象的请求发送完成。

3:XMLHttpRequest对象开始读取服务器的响应。

4:XMLHttpRequest对象读取服务器响应结束。

21.说一下你对多线程、线程池的理解

答:多线程本身是异步进行操作的,线程池存在的目的是让线程同步

较难

1.有一个3L和5L的杯子,怎样量出4L?用公式表达

答:1、5L装满水倒入3L杯子,5L杯中余2L

2、3L杯子清空,将5L杯子中的2L倒入3L杯中

3、5L杯子装满

4、倒入已有2L水的3L杯中此时5L杯中就有4L水了

公式:设5L的杯子为x,3L的杯子为y

2*y-x+y

2.写出软件的开发流程

答:1.需求分析:我们要知道客户想要的是怎样一个系统,要有哪些功能

等。

2.问题定义:主要是要搞清楚,我们要解决什么样的问题

3.可行性分析:我们要明确所定义的项目是不是能够实现和值得开发,也

就是在技术,经济,运行可行性,法律可行性方面进行分析。

4.概要设计与结构化设计,这个阶段主要是要分析出,我们要怎样实现系

统,软件设计包括概要设计时应该遵循的基本原理。

5.详细设计,确定具体怎么样实现所要求的系统

6.编码与软件测试:

7.软件测试与维护。

3.九宫格,里面有个一个球,要求每当鼠标移动到小球上,小球就像相邻

的格里移动,说出思路

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论