NET期末复习材料Word下载.docx

上传人:b****1 文档编号:15309495 上传时间:2022-10-29 格式:DOCX 页数:6 大小:53.54KB
下载 相关 举报
NET期末复习材料Word下载.docx_第1页
第1页 / 共6页
NET期末复习材料Word下载.docx_第2页
第2页 / 共6页
NET期末复习材料Word下载.docx_第3页
第3页 / 共6页
NET期末复习材料Word下载.docx_第4页
第4页 / 共6页
NET期末复习材料Word下载.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

NET期末复习材料Word下载.docx

《NET期末复习材料Word下载.docx》由会员分享,可在线阅读,更多相关《NET期末复习材料Word下载.docx(6页珍藏版)》请在冰豆网上搜索。

NET期末复习材料Word下载.docx

追加字符串时,当字符总长度超过了当前设置的容量Capacity,这个时候,会重新创建一个更大的字符数组,此时会涉及到分配新对象。

调用StringBuilder.ToString(),创建新的字符串。

②相对于string的不可变,StringBuilder代表可变字符串,不会像字符串,在托管堆上频繁分配新对象。

6、什么是事件?

什么是委托?

两者的区别?

事件的含义:

事件可以理解为一种特殊的委托,事件内部是基于委托来实现的。

委托的含义:

①委托类似于C或C++中的函数指针,允许将方法作为参数进行传递;

②C#中的委托都继承自System.Delegate类型;

③委托类型的声明与方法签名类似,有返回值和参数;

④委托是一种可以封装命名(或匿名)方法的引用类型,把方法当做指针传递,但委托是面向对象、类型安全的;

两者的区别:

①事件是特殊化的委托,委托是事件的基础;

②事件只能在本类型内部“触发”,委托不管在本类型内部还是外部都可以“调用”;

③在类的外部,事件只能用“+=”和“-=”去订阅/取消订阅,如果是委托的话还可以使用“=”。

7、XML两种文档的定义:

DTD、Schema。

8、DTD和Schema的区别?

①Schema本身也是XML文档,DTD定义跟XML没有什么关系,Schema在理解和实际应用有很多的好处。

②DTD文档的结构是“平铺型”的,如果定义复杂的XML文档,很难把握各元素之间的嵌套关系;

Schema文档结构性强,各元素之间的嵌套关系非常直观。

③DTD只能指定元素含有文本,不能定义元素文本的具体类型,如字符型、整型、日期型、自定义类型等。

Schema在这方面比DTD强大。

④Schema支持元素节点顺序的描述,DTD没有提供无序情况的描述,要定义无序必需穷举排列的所有情况。

Schema可以利用xs:

all来表示无序的情况。

⑤对命名空间的支持。

DTD无法利用XML的命名空间,Schema很好满足命名空间。

并且,Schema还提供了include和import两种引用命名空间的方法。

(1)DTD不遵守XML语法,Schema遵循XML的语言规范

(2)DTD不可扩展,Schema是可扩展的

(3)DTD不支持命名空间的应用,Schema支持命名空间的应用

(4)DTD没有提供强大的数据类型支持,只能表示很简单的数据类型;

Schema支持更多的数据类型与元素类型;

8、XML有什么优势,用在什么地方?

①可扩展性是XML最主要的特点;

②另外XML是一种元标记语言(它只表示数据本身,没有显示的样式);

③和HTML比较:

HTML不仅表示数据而且还有显示的样式;

④真正的数据和显示分离。

基于这样的特点,XML主要用来交换数据,用交换双方都可以明白的标签来封装数据,比如WebServices,就是在不同平台和不同语言之间交换数据写配置文件。

9、什么是垃圾?

GC是什么,简述一下GC的工作方式?

GC进行垃圾回收时的主要流程?

一个变量如果在其生存期内的某一时刻已经不再被引用,那么,这个对象就有可能成为垃圾。

GC是垃圾回收(GarbageCollect)的缩写,是.NET核心机制的重要部分。

她的基本工作原理就是遍历托管堆中的对象,标记哪些被使用对象(哪些没人使用的就是所谓的垃圾),然后把可达对象转移到一个连续的地址空间(也叫压缩),其余的所有没用的对象内存被回收掉。

①标记:

先假设所有对象都是垃圾,根据应用程序根Root遍历堆上的每一个引用对象,生成可达对象图,对于还在使用的对象(可达对象)进行标记(其实就是在对象同步索引块中开启一个标示位)。

②清除:

针对所有不可达对象进行清除操作,针对普通对象直接回收内存,而对于实现了终结器的对象(实现了析构函数的对象)需要单独回收处理。

清除之后,内存就会变得不连续了,就是步骤3的工作了。

③压缩:

把剩下的对象转移到一个连续的内存,因为这些对象地址变了,还需要把那些Root跟指针的地址修改为移动后的新地址。

10、什么是索引?

缺点是什么?

索引的分类?

索引碎片是如何产生的?

索引碎片有什么危害?

索引碎片该如何处理(预防)?

索引就一种特殊的查询表,数据库的搜索引擎可以利用它加速对数据的检索。

缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。

两种类型:

聚焦索引和非聚焦索引。

索引碎片是如何产生的:

索引在使用一段时间后(主要是新增、修改、删除数据,如果该页已经存储满了,就要进行页的拆分,频繁的拆分,会产生较多的索引碎片)会产生索引碎片。

危害:

索引碎片会严重印象数据的查询效率,如果碎片太多,索引可能不会被使用。

如何处理(预防):

第一种是预防:

设置页的填充因子,意思就是在页上设置一段空白区域,在新增数据的时候,可以使用这段空白区域,可以一定的避免页的拆分,从而减少索引碎片的产生。

第二种是索引修复:

定期对索引进行检查、维护。

11、线程内部多线程引用空间system.threading。

12、线程包含的四部分:

线程内核对象、线程环境块、1M大小的用户模式栈、内核模式栈。

13、为什么引入线程池?

优缺点是什么?

每个CLR都有一个线程池,线程池在CLR内可以多个AppDomain共享,线程池是CLR内部管理的一个线程集合,初始是没有线程的,在需要的时候才会创建。

优点:

线程池使得线程可以充分有效地被利用,减少了任务启动的延迟,也不用大量的去创建线程,避免了大量线程的创建和销毁对性能的极大影响

缺点:

1、线程池内的线程不支持线程的挂起、取消等操作,如想要取消线程里的任务,.NET支持一种协作式方式取消,使用起来也不少很方便,而且有些场景并不满足需求;

2、线程内的任务没有返回值,也不知道何时执行完成;

3、不支持设置线程的优先级,还包括其他类似需要对线程有更多的控制的需求都不支持;

14、内存分为两个部分:

托管堆、GC堆。

15、继承、接口和抽象类的概念(了解):

继承的本质:

方法表的创建过程是从父类到子类自上而下的,这是.NET中继承的很好体现,当发现有覆写父类虚方法会覆盖同名的父方法,所有类型的加载都会递归到System.Object类。

抽象类提供多个派生类共享基类的公共定义,它既可以提供抽象方法,也可以提供非抽象方法。

抽象类不能实例化,必须通过继承由派生类实现其抽象方法,因此对抽象类不能使用new关键字,也不能被密封。

接口简单理解就是一种规范、契约,使得实现接口的类或结构在形式上保持一致。

实现接口的类或结构必须实现接口定义中所有接口成员,以及该接口从其他接口中继承的所有接口成员。

16、错误和异常的区别?

程序的错误主要是语法错误和语义错误;

异常是一个程序在编译和运行时出现的错误统一。

17、数据库的基本原理?

在物理层面上,数据库有数据文件组成,而这些数据文件可以组成文件组,然后存储在磁盘上。

每个文件包含许多区,每个区的大小为64K由八个物理上连续的页组成(一个页8K),我们知道页是SQLServer数据库中的数据存储的基本单位。

18、ASP.NET页生命周期概述?

①页请求:

发生在页生命周期开始之前,用户请求页时,ASP.NET将确定是否需要分析和编译页,或者是否可以在不运行页的情况下发送页的缓存版本以进行响应。

②开始:

在开始阶段,将设置页属性,如Request和Response。

在此阶段,页还将确定请求是回发请求还是新请求,并设置IsPostBack属性。

此外,在开始阶段,还将设置页的UICulture属性。

③页初始化:

在这个期间,可以使用页中的控件,并设置每个控件的UniqueID属性。

此外,任何主题都将应用于页。

如果请求是回发请求,则回发数据并不加载,并且控件属性值也不还原为视图状态中的值。

④加载:

加载期间,如果当前请求是回发请求,这将使用从视图状态和控件状态恢复的信息加载控件属性。

⑤验证:

在验证期间,将调用所有验证程序控件的Validate方法,此方法将设置各个验证程序控件和页的IsValid属性。

⑥回发事件处理:

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

⑦呈现:

在呈现期间,视图状态将被保存到页,然后页将调用每个控件,以将其呈现的输出提供给页的Response属性的OutputStream。

⑧卸载:

完全呈现页、将页发送至客户端并准备丢弃时,将调用卸载。

此时,卸载页属性并执行清理。

19、Session:

对网站的一次访问叫做会话(Session),超时后,自动结束会话(一般是20分钟)。

20、(了解)HTTP是一个无状态的协议,这意味着它不会自动提示一个请求序列是否都来自相同的客户端,甚至不提示单个浏览器实例是否仍在活跃地查看某个页或网站。

因此,如果没有其他基础架构的帮助,要想生成需要维护某些跨请求状态信息的Web应用程序(如购物车等),就会非常困难。

21、下列哪些情景会应用到session?

(登录、验证、购物车功能)

22、如何判断一个同一个回话?

每一个Session都具有独一无二的SessionID。

23、五个状态的优缺点和使用场景。

24、在ASP.NET性能优化中,利用什么指标来测试web应用?

吞吐量、响应时间、执行时间、可伸缩性、可伸缩性、

25、基本优化原则

①减少不必要的资源消耗。

②提高CPU和内存的使用率。

26、DataReader的含义

SqlDataReader类提供了一种读取从SQLServer数据库检索的只进数据流的方法。

如果创建ASP.NET应用程序时出现允许用户使用它的情况,则SqlDataReader类提供比DataSet类更高的性能。

那是因为SqlDataReader使用SQLServer的本机网络数据传输格式从数据库中直接读取数据。

另外,SqlDataReader类实现IEnumerable接口,该接口也允许用户将数据绑定到服务器控件。

27、熟悉在.NET中经常使用的函数,以及功能,和用在哪些数据语句?

28、数据库包含的两个方面:

提供者、数据集、

 

29、ASP.NET状态管理类别分为几类,具体有哪些?

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

iis中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sateserver或SQLServer数据库的方式存储Session,不过这种方式比较慢,而且无法捕获Session的END事件。

(会话状态管理的默认时间20分钟,注意题目要求默认时间还是请求时间)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1