.net面试题 总结

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

ASP.NET2.0页面事件启动顺序。PreInit页面初始化前的那一刻Init页面初始化InitComplete页面初始化完成PreLoad加载到内存前的那一刻LoadLoadComplete页面完全加载到内存中PreRender在加载Control对象之后、呈现之前发生PreRenderComplete显示在浏览器之前的那一刻Unload1.new有几种用法第一种:newClass();第二种:隐藏方法publicnewXXXX(){}第三种:new约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。2.如何把一个array复制到arrayList里foreach(objectoinarray)arrayList.Add(o);3.datagrid.datasouse可以连接什么数据源[dataset,datatable,dataview]dataset,datatable,dataview,IList4.概述反射和序列化反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性序列化:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用HTTP通过Internet在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。5.概述o/rmapping的原理利用反射,配置将类于数据库表映射6.类成员有()种可访问形式可访问形式?不懂。可访问性:public,protected,private,internal7.用sealed修饰的类有什么特点sealed修饰符用于防止从所修饰的类派生出其它类。如果一个密封类被指定为其他类的基类,则会发生编译时错误。密封类不能同时为抽象类。sealed修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。8.列举ADO.NET中的五个主要对象,并简单描述connection,command,dataReader,trans,dataset...9.Server.Transfer,Response.Redirect的区别过Server.Transfer引导到另一页面保留服务器资源,通过更改服务器端“焦点”和传输请求来代替告诉浏览器重定向,这就意味着你不会占用较多的HTTP请求,因此这可以减轻服务器的压力,使你的服务器运行更快。不过,请注意,由于transfer只能在同一服务器端的同一站点间运行,所以你不能用Server.Transfer将用户重定向到另一服务器上的站点。要重定向到服务器以外的站点,只有Response.Redirect能办到。其次,Server.Transfer保留浏览器端的URL地址。这对流线型的数据输入很有帮助,不过这也增加了调试的复杂度。还有:Server.Transfer方法还有另一个参数——preserveForm。如果你设置这个参数为True,比如:Server.Transfer(WebForm2.aspx,True),那么querystring和任何form变量都会同时传递到你定位的页面。1.Server.Transfer只能够转跳到本地虚拟目录指定的页面,而Response.Redirect则十分灵活;2.Server.Transfer可以将页面参数方便传递到指定页面;3.使用时,Server.Transfer跳到别的页面后,浏览器显示的地址不会改变,有时反而会造成误会,当然也有些场合需要这样的效果;4.Server.Transfer可以减少客户端对服务器的请求;System.array.copyTo()和System.array.Clone()的区别copyTo()的方法是一个浅拷贝的过程;clone()的方法是一个深拷贝的过程;copyTo()它的过程是引用的过程,就相当于string[]a=newstring[]{7,1,3,4};string[]b;b=a.copyto();就相当于b=a;这种情况a和b引用都是相同内存地址;而clone()就相当于string[]a=newstring[]{7,1,3,4};string[]b;string[]c=a.copyto();b=c;这种情况a和b引用都是不同内存地址;10.C#中,stringstr2=null与stringstr1=,请尽量用文字说明区别。(要点:说明详细的内存空间分配)stringstr=分配空间stringstr=初始化对象分配空间而stringstr=null初始化对象更详细的解释这样定义后,str1是一个空字符串,空字符串是一个特殊的字符串,只不过这个字符串的值为空,在内存中是有准确的指向的。stringstr2=null,这样定义后,只是定义了一个string类的引用,str2并没有指向任何地方,在使用前如果不实例化的话,将报错。11.详述.NET里class和strUCt的异同!class:放在?struct放在?struct值传递类与结构有很多相似之处:结构可以实现接口,并且可以具有与类相同的成员类型。然而,结构在几个重要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承。结构的值存储在“在堆栈上”或“内联”。细心的程序员有时可以通过聪明地使用结构来增强性能。12.概述.NET里对remoting和webservice两项技术的理解和实际中的应用。远程逻辑调用,remoing接口只能用在.net中其实现的原理并没有本质的区别,在应用开发层面上有以下区别:1、Remoting可以灵活的定义其所基于的协议,如果定义为HTTP,则与WebService就没有什么区别了,一般都喜欢定义为TCP,这样比WebService稍为高效一些2、Remoting不是标准,而WebService是标准;3、Remoting一般需要通过一个WinForm或是Windows服务进行启动,而WebService则需要IIS进行启动。4、在VS.net开发环境中,专门对WebService的调用进行了封装,用起来比Remoting方便我建议还是采用WebService好些,对于开发来说更容易控制Remoting一般用在C/S的系统中,WebService是用在B/S系统中后者还是各语言的通用接口相同之处就是都基于XML13.什么是code-behind技术ASPX,RESX和CS三个后缀的文件,这个就是代码分离.实现了HTML代码和服务器代码分离.方便代码编写和整理.14.概述三层结构体系web/business/dataAccess15.Asp.Net如何实现MVC模式,举例说明!web/business/dataaccess1.面向对象的思想主要包括什么?答:继承多态封装●封装:用抽象的数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型内部。●继承:子类拥有父类的所有数据和操作。●多态:一个程序中同名的不同方法共存的情况。有两种形式的多态–重载与重写。2.什么是ASP.net中的用户控件答:用户控件就是.ascx扩展名的东西喽,可以拖到不同的页面中调用,以节省代码.比如登陆可能在多个页面上有,就可以做成用户控件,但是有一个问题就是用户控件拖到不同级别的目录下后里面的图片等的相对路径会变得不准确,需要自已写方法调整.3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?答:1)应用程序域可以理解为一种轻量级进程。起到安全的作用。占用资源小。2)unsafe:非托管代码。不经过CLR运行。3)RTTI:类型识别系统。4)从值类型接口转换到引用类型装箱。从引用类型转换到值类型拆箱。5)重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要6)CTS:公共类型系统。CLS:通用语言规范。CLR:公共语言运行库。5.值类型和引用类型的区别?写出C#的样例代码。答:结构是值类型,类是引用类型,所以传结构就是值类型的应用啦,传对象或类就是引用类型的,这个不用多写了吧.6.ADO.net中常用的对象有哪些?分别描述一下。答:connectioncommandsqladapterdatasetdatatabledataview等等.写不完了.Connection数据库连接对像Command数据库命令DataReader数据读取器DataSet数据集7.如何理解委托?答:据说相当于函数指针,定义了委托就可以在不调用原方法名称的情况下调用那个方法.msdn2005中是这样解释的:委托具有以下特点:委托类似于C++函数指针,但它是类型安全的。委托允许将方法作为参数进行传递。委托可用于定义回调方法。委托可以链接在一起;例如,可以对一个事件调用多个方法。方法不需要与委托签名精确匹配。有关更多信息,请参见协变和逆变。C#2.0版引入了匿名方法的概念,此类方法允许将代码块作为参数传递,以代替单独定义的方法。8.C#中的接口和类有什么异同。答:抽象类是一个不完全的类,类里面有抽象的方法,属性,也可以有具体的方法和属性,需要进一步的专业化。Interfaceabstract但接口是一个行为的规范,里面的所有东西都是抽象的!一个类只可以继承一个基类也就是父类,但可以实现多个接口,抽象类是单一继承,接口可以多继承,9.。net中读写数据库需要用到哪些类?他们的作用答:1、DataSet用来无连接的储存多个表的数据,并包含表与表之间的关联关系2、DataTable用来存储一个表的数据3、SqlConnection用来创建一个到数据库的连接4、SqlCommand用来执行SQL语句5、SqlDataReader用来顺序读取数据6、SqlDataAdapter用来将数据填充到DataSet或DataTable10.UDP连接和TCP连接的异同。答:TCP是有连接状态的,而UDP没有,所以TCP是一种比较安全的通讯协议,而UDP则比较方便。前者只管传,不管数据到不到,无须建立连接.后者保证传输的数据准确,须要连结.11.ASP.net的身份验证方式有哪些?分别是什么原理?答:Windwos(默认)用IIS...From(窗体)用帐户....Passport(密钥)12.进程和线程分别怎么理解?答:进程是系统进行资源分配和调度的单位;线程是CPU调度和分派的单位,一个进程可以有多个线程,这些线程共享这个进程的资源。线程是指进程内的一个执行单元,也是进程内的可调度实体.与进程的区别:(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。14.活动目录的作用。答:活动目录是微软推出的目录服务,他的主要功能是集中化、统一化的管理计算机和用户以及网络资源。这就是他的主要作用,他的主要管理方法是通过组策略来实现的。他的作用还可以为用户实现统一的网络身份验证。更重要的是他是微软其他几大高级服务的后台服务。16.解释一下UDDI、WSDL的意义及其作用。7.什么是SOAP,有哪些应用。答:SOAP(SimpleObjectAccessProtocol)简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一直语言相互通信。这种相互通信采用的是XML格式的消息

1 / 34
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功