您好,欢迎访问三七文档
北大青鸟APTECH(岳阳海纳)文档Asp.net面试题及参考答案(注意:答案不一定正确,不清之处,请自己上网查询)1.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.类成员有()种可访问形式北大青鸟APTECH(岳阳海纳)文档可访问性:public,protected,private,internal7.用sealed修饰的类有什么特点sealed修饰符用于防止从所修饰的类派生出其它类。如果一个密封类被指定为其他类的基类,则会发生编译时错误。sealed修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。当应用于方法或属性时,sealed修饰符必须始终与override一起使用。永远不会有任何派生类。密封类不能同时为抽象类。8.列举ADO.NET中的五个主要对象,并简单描述connection,command,dataReader,trans,dataset...9.执行下面代码后:StringstrTemp=abcdefg某某某;IntiSystem.Text.Encoding.Default.GetBytes(strTemp).Length;Intj=strTemp.Length;问:i=(14);j=(11)i=(14);j=(11)中文两个字节10.C#中,stringstr=null与stringstr=,请尽量用文字说明区别。(要点:说明详细的内存空间分配)stringstr=分配空间11.详述.NET里class和struct的异同!北大青鸟APTECH(岳阳海纳)文档class:放在?struct放在?struct值传递类与结构有很多相似之处:结构可以实现接口,并且可以具有与类相同的成员类型。然而,结构在几个重要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承。结构的值存储在“在堆栈上”或“内联”。细心的程序员有时可以通过聪明地使用结构来增强性能。12.概述.NET里对remoting和webservice两项技术的理解和实际中的应用。远程逻辑调用,remoing接口只能用在.net中13.什么是code-behind技术aspxandcs简单的说就是代码分离技术。14.概述三层结构体系web/business/dataaccess15.asp.net如何实现MVC模式,举例说明!web/business/dataaccess16.值类型和引用类型的区别?C#支持两种类型:“值类型”和“引用类型”。值类型(如char、int和float)、枚举类型和结构类型。引用类型包括类(Class)类型、接口类型、委托类型和数组类型。值类型与引用类型的区别在于值类型的变量直接包含其数据,而引用类型的变量则存储对象引用。对于引用类型,两个变量可能引用同一个对象,因此对一个变量的操作可能影响另一个变量所引用的对象。对于值类型,每个变量都有自己的数据副本,对一个变量的操作不可能影响另一个变量17.了解程序集强签名吗?用强名称来给程序集签名即谓之程序集强签名!通过签发具有强签名的程序集合,可以确保名称的全局唯一性!因为强名称是依赖于唯一的密钥对来确保名称的唯一性,其他人不会生成与你相同的程序集名称(不同的私钥产生的名称不同)北大青鸟APTECH(岳阳海纳)文档强名称保护程序集的版本沿袭,因为强名称的唯一性能够确保没有其他人能够生成你的程序集的后续版本强名称提供可靠的完整性检查,通过.NETFramework安全检查后,可以确保程序集内容在生成后未被更改过!要注意的是,具有强名称的程序集引用其他程序集,如果这个程序集没有强名称,那么具有强名称的程序集所带来的好处,并依旧会产生DLL冲突!因此具有强名称的程序集只能引用其他具有强名称的程序集。18.C#中接口和类有什么区别?接口是负责功能的定义,项目中通过接口来规范类,操作类以及抽象类的概念!而类是负责功能的具体实现!在类中也有抽象类的定义,抽象类与接口的区别在于:抽象类是一个不完全的类,类里面有抽象的方法,属性,也可以有具体的方法和属性,需要进一步的专业化。但接口是一个行为的规范,里面的所有东西都是抽象的!一个类只可以继承一个基类也就是父类,但可以实现多个接口19.ViewState的作用和实现方式?设置是否要保存控件的状态,如果设为false且在Page_Load中没有重新绑定数据的话,只要页面一刷新,控件的内容就没了如果设为true,则页面会保存控件的内容在一些不需要保存状态的页面中最好把它设为false,为什设为true会增加服务器的负担隐藏域20.在ASP.net中可以利用哪些对象存储状态?几种维持状态的对象应用场合以及优缺点?主要用Application,session,viewstate,cookie,cache。Application:应用程序级别的共享变量,优点是应用程序一开启该站点都能访问此变量。缺点:所有对此进行写入操作要加锁,由此共享变量锁带来的内存开销只有此应用程序关闭才能结束。Session:维护用户个人的状态信息,优点:个人所从事活动,如登录信息,购物车信息等较安全而且又服务器维护较稳定。缺点:维持http连接的sessionID仍然有缺陷,同时为每个用户维护状态信息,服务器内存开销很大。北大青鸟APTECH(岳阳海纳)文档Viewsate:如4所说,在一些场合能体现它的特点,但同时带来的缺点:影响整个页面的速度以及隐藏字段未加密。Cookie:优点是将状态信息维护在客户端的一个文本文件,不需要耗用服务器的内存,是目前各大网站主要采用的方式。缺点:由于其将状态信息存贮在客户端,很可能由别人破解此文件而获得此人的个人隐私和机密信息。其受限大小为4K.Cache:优点是提供的此功能很强大,如文件缓存依赖、API依赖、数据库依赖以用于存贮数据变化而更换缓存状态数据。提供存储周期从httpcontext到httpruntime。缺点:耗用服务器内存。21.简单说说ASP.NET中基于表单的身份验证方式的用法?配置文件提供对站点那些目录的保护以及登录页面,当访问该目录的文件时,如果用户未认证通过,将转入登录页面,用户输入用户名和密码,将此参数传入认证模块authentication,该模块负责认证,如果通过将isauthentication设置为true,并返回用户的identity对象,此时页面将转入初始请求页,如果未通过,将不允许访问此目录。22.是否了解URLRewrite?请简要说明其原理和在ASP.NET中的实现方式?一般放在httpmodule中applicatioin_request事情中,当每次http请求,将此URL定位到重写的url函数中并返回重写后的URL地址。主要用于当我们站点板块移动时由于链接仍然指向旧地址,故可以重定向到新的地址,当然查询参数也可以重写。url-mapping配置23.在超过10万条记录的页面显示时,你如何处理分页,有多少种替代方案?一般根据页面选择的第几页PageIndex,以及服务端配置文件配置的每页行数PageSize,通过传入参数传入存贮过程,由其返回相应行数pagesize的记录。即每一页数据都由服务端返回。Cache24.DataReader和DataSet的异同?Daatareader和datatset都是通过从数据源取数据。不同点:datareader提供只进行流的方式读取数据。Dataset提供一种容器里面主要由表以及表关系,由适配器来提供从数据源取得数据填充到此容器的表中。25.你会利用那些工具进行数据库的性能分析及其优化?说说你觉得优化数据库需要注意的方面。比如:如何设计优化查询为主、插入更新为主的表。北大青鸟APTECH(岳阳海纳)文档我主要通过执行计划以及索引优化以及客户统计和服务器跟踪工具来检测从SQL到索引、硬盘IO和时间等信息。对于查询为主的表,首先对数据量的大小有一定的估计,当达到一定程度应采用水平分区,有的根据主键有的根据时间段来区分。由于此表往往插入更新不是太快,可对适当字段采用索引并且填充因子可以尽量大。SQL优化等。对于插入更新为主的表,我觉得健壮性更重要,只要根据标准外部采用存贮过程就可以了。26.数据库某表主键自增,是很常见的情形。在ASP.Net或C#程序中,要求向该表插入一条记录,并马上从该表查出这条记录。不能使用时间戳,请问你如何实现?插入一条记录会返回◎◎identity,通过它就是该记录的主键,再select一下就可以了27.Xhtml的三种DOCTYPE分别有什么含义?请说明。简单说明各个情况下,那些标签可以使用,那些不可以使用?XHTML1.0提供了三种DTD声明可供选择:W3C规范过渡的(Transitional):要求非常宽松的DTD,它允许你继续使用HTML4.01的标识(但是要符合xhtml的写法)。完整代码如下:!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//EN严格的(Strict):要求严格的DTD,你不能使用任何表现层的标识和属性,例如br。完整代码如下:!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Strict//EN框架的(Frameset):专门针对框架页面设计使用的DTD,如果你的页面中包含有框架,需要采用这种DTD。完整代码如下:!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Frameset//EN请举例说明XHtml代码规范,越多越好。1.所有的标记都必须要有一个相应的结束标记以前在HTML中,你可以打开许多标签,例如p和li而不一定写对应的/p和/li来关闭它们。但在XHTML中这是不合法的。XHTML要求有严谨的结构,所有标签必须关闭。如果是单独不成对的标签,在标签最后加一个/来关闭它。例如:br/imgheight=80alt=网页设计师src=../images/logo_w3cn_200x80.gifwidth=200/2.所有标签的元素和属性的名字都必须使用小写与HTML不一样,XHTML对大小写是敏感的,title和TITLE是不同的标签。XHTML要求所有的标签和属性的名字都必须使用小写。例如:BODY必须写成
本文标题:net面试题集夏
链接地址:https://www.777doc.com/doc-4409392 .html