ASP.NET面试问题总结

上传人:hs****ma 文档编号:469441629 上传时间:2023-05-11 格式:DOC 页数:36 大小:242.02KB
返回 下载 相关 举报
ASP.NET面试问题总结_第1页
第1页 / 共36页
ASP.NET面试问题总结_第2页
第2页 / 共36页
ASP.NET面试问题总结_第3页
第3页 / 共36页
ASP.NET面试问题总结_第4页
第4页 / 共36页
ASP.NET面试问题总结_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《ASP.NET面试问题总结》由会员分享,可在线阅读,更多相关《ASP.NET面试问题总结(36页珍藏版)》请在金锄头文库上搜索。

1、ASP.NET面试问题总结1 抽象类与接口的区别?抽象类是一个不完全的类,类里面有抽象的方法、属性,也可以有具体的方法、属性,需要进一步专业化。但接口是一个行为规范,里面所有的东西都是抽象的!一个类只可以继承一个基类也就是父类,但可以实现多个接口。2 值类型与引用类型的区别?举个实例?C#中支持两种类型:值类型和引用类型。值类型(如char、int和float)枚举类型、和结构类型引用类型包括 类(class)类型、接口类型、委托类型和数组类型值类型和引用类型的区别在于 值类型的变量直接包含其数据,而引用类型的变量则存储对象引用。对于引用类型,两个变量可能引用同一个对象,因此对一个变量的操作可

2、能影响另一个变量所引用的对象。对于值类型,每个变量都有自己的数据副本,对一个变量的操作不可能影响另一个变量。 例: StringBuilder a=new StringBuilder();/将StringBuilder的一个首地址传给a StringBuilder b=a;/将StringBuilder的一个首地址传给b b.Append(mxh); Console.WriteLine(a); a=null; Console.WriteLine(b); 输出结果:mxh mxh a=null的意思是:a的引用置为空但此时StringBuilder的堆空间并没有被释放,因此在此之后,输出b时,仍

3、然可以输出mxh 3 重载与重写的区别?1、方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系 2、覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。 3、覆盖要求参数列表相同;重载要求参数列表不同。 4、覆盖关系中,调用那个方法体,是根据对象的类型(对象对应存储空间类型)来决定;重载关系,是根据调用时的实参表与形参表来选择方法体的。4 CSS的作用?Css是Cascading Style Sheets(层叠样式表单)的简称。简单的说,他可以提供更多的网页样式,使网页的元素更丰富,比如他可以方便的设置文字的大小,间距,图片

4、的阴影,位置等等。5 绝对路径和相对路径的区别?相对路径:以引用文件之网页所在位置为参考基础,而建立出的目录路径。因此,当保存于不同目录的网页引用同一个文件时,所使用的路径将不相同,故称之为相对。绝对路径:以web站点根目录为参考基础的目录路径。之所以称为绝对,意指当所有网页引用同一个文件时,所使用的路径都是一样的。其实绝对路径与相对路径的不同处,只在于描述目录路径时,所采用的参考点不同,由于对网站上所有文件而言,根目录这个参考点对所有文件都是一样的,因此,运用以根目录为参考点的路径描述方式才会被称之为绝对路径。6 冒泡排序?int array = new int * ;int temp =

5、0 ;for (int i = 0 ; i array.Length - 1 ; i+)for (int j = i + 1 ; j array.Length ; j+)if (arrayj arrayi)temp = arrayi ;arrayi = arrayj ;arrayj = temp ; 7 虚拟目录的作用是什么?虚拟目录就是将其他目录以映射到方式虚拟到该ftp服务器的主目录下,这样,一个ftp服务器的主目录实质上就可以包括很多不同盘符,不同路径的目录,而不会受到所在盘的空间的限制了,当用户登录到主目录下,还可以根据该帐户的权限对它进行相应的操作,就像操作主目录下的子目录一样。如果

6、用户被锁定在主目录下,这项功能将允许他们访问主目录之外的其他目录。8 高内聚,低耦合的含义是什么?高内聚:类与类之间的关系而定,高,意思是他们之间的关系要简单明了,不要有很强的关系,不然,运行起来就会出问题。一个类的运行影响到其他的类。低偶和:类内部的方法而言,把程序的功能尽量分散,别在一个类里只写一个或很好的方法,因为那样会给你的调试等带来很多问题。出了错你都不知道在什么地方。9 如何提高代码的可重用性?1、尽量把重复的程序写成函数,然后每次需要运行的时候调用函数2、继承性和多态性概念很好的支持了代码的重用性3、使用三层架构,提高代码的重用性等10 列举ADO.NET常用对象,用途? con

7、nection,command,dataReader,dataAdpter,dataset .其上对于各种对象,连接不同的数据库将会有不同的对象变体Connection: 数据库的连接需要此对象Command:执行数据表变化的命令dataAdpter: 数据的集合,用于填充dataReader和dataset主要是对数据库的表信息进行两种不同方式的读取11 System.String和System.StringBuilder的区别? 如果要操作一个不断增长的字符串,尽量不用String类,改用StringBuilder类。两个类的工作原理不同:String类是一种传统的修改字符串的方式,它确实

8、可以完成把一个字符串添加到另一个字符串上的工作没错,但是在.NET框架下,这个操作实在是划不来。因为系统先是把两个字符串写入内存,接着删除原来的String对象,然后创建一个String对象,并读取内存中的数据赋给该对象。这一来二去的,耗了不少时间。而使用System.Text命名空间下面的StringBuilder类就不是这样了,它提供的Append方法,能够在已有对象的原地进行字符串的修改,简单而且直接。当然,一般情况下觉察不到这二者效率的差异,但如果你要对某个字符串进行大量的添加操作,那么StringBuilder类所耗费的时间和String类简直不是一个数量级的12 如何在C#中实现继

9、承,C#支持多重继承吗?在类名后面加上一个冒号,在加上基类的名字不支持多重继承,但可以用接口实现13 什么是服务端控件?举例?与一段Html控件的区别?服务端控件只是对HTML控件以及JS脚本做了封装,方便程序员使用C等面向对象的语言进行编程而已。如果你对HTML以及JS熟悉的话,完全可以不用服务端控件来实现。采用服务端控件会牺牲一定程度的性能(虽然预编译以及禁用ViewState可以优化)。采用服务端控件的好处是:尽可能的隔离程序员与Js以及HTML控件,可以更好的加快开发速度。但是对于访问量很大的网站来说,性能的牺牲也是不可忽视的。所以规模较大的网站,多数采用的方式为使用开发逻辑代码,页面

10、级的展现还是尽量避免使用服务端控件,而是使用HTML控件以及JS脚本来提升性能,改善用户体验。1、控件是服务端控件 用于响应服务端事件 如:2、HTML控件是客户端控件 用于响应客户端事件如:与Html控件的区别在于服务器控件上面有标明 Runat=”server” 14 什么是Ajax技术,.Net2.0是提供哪些接口实现?Ajax是Asynchronous JavaScript And XML 的缩写,它不是一项技术,而是很多技术革新的集合,Ajax使用通信技术,发送和接收对服务器的异步请求/响应,然后利用显示技术处理响应.Ajax是使用客户端脚本与Web服务器交换数据的Web应用开发方法

11、。这样,Web页面不用打断交互流程进行重新加裁,就可以动态地更新。使用Ajax,用户可以创建接近本地桌面应用的直接、高可用、更丰富、更动态的Web用户界面。15 页面传值的几种方式,区别?1. session(viewstate) 简单,但易丢失2. application 全局3. cookie 简单,但可能不支持,可能被伪造4. input type=”hidden” 简单,可能被伪造5. QueryString(response. Redirect() 参数简单,显示于地址栏,长度有限6. 数据库 稳定,安全,但性能相对弱16 DataReader和DataSet的区别? Daatare

12、ader和datatset都是通过从数据源取数据。不同点:datareader提供只进行流的方式读取数据。Dataset提供一种容器里面主要由表以及表关系,由适配器来提供从数据源取得数据填充到此容器的表中。DataReader和DataSet最大的区别在于,DataReader使用时始终占用SqlConnection,在线操作数据库.任何对SqlConnection的操作都会引发DataReader的异常.因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的.因为DataReader的特殊性和高性能.所以DataReader是只进的.你读了第一条后就不能再去读取第一条了.

13、DataSet则是将数据一次性加载在内存中.抛弃数据库连接.读取完毕即放弃数据库连接.因为DataSet将数据全部加载在内存中.所以比较消耗内存.但是确比DataReader要灵活.可以动态的添加行,列,数据.对数据库进行回传更新操作17 静态类与实体类的区别?18 不通过第三方变量,互换两个变量的值? Int x=3,y=5; X=x+y; Y=x-y; X=x-y;19 在项目中你是怎么调试的?谈谈你的心得? 下断点 逐步调试(逐语句和逐过程)20. ASP.NET和ASP的区别? Asp是解释型 Aspx是编译型 性能提高,有利于保护源码ASP.Net和ASP的最大区别在于编程思维的转换

14、,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: 1、代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 2、代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 3、弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号