ASPNET笔试经验心得.docx
《ASPNET笔试经验心得.docx》由会员分享,可在线阅读,更多相关《ASPNET笔试经验心得.docx(7页珍藏版)》请在冰豆网上搜索。
ASPNET笔试经验心得
ASP.NET笔试经验心得
1.维护数据库的完整性、一致性、你喜欢用触发器还是自写业务逻辑?
为什么
答:
尽可能用约束(包括CHECK、主键、唯一键、外键、非空字段)实现,这种方式的效率最好;其次用触发器,这种方式可以保证无论何种业务系统访问数据库都能维持数据库的完整性、一致性;最后再考虑用自写业务逻辑实现,但这种方式效率最低、编程最复杂,当为下下之策
2:
ADO.NET相对于ADO等主要有什么改进?
答ADO数据以Recordset形式存储ADO.NET以DataSet形式存储
Recordset对数据库持续连接访问ADO.NET提供对数据库断开连接
ADO.NET与ADO相比,优势在于提供了数据集和数据适配器,有利于实现分布式处理,降低对数据库服务器资源的消耗。
3:
ASP.NET与ASP相比,主要有哪些进步?
答可以使用强类型语言页面是编译,执行速度快,增加安全性和可靠性,通过继承机制来支持代码的重用,提供声明性服务器控件减少代码行数Asp需要解释,执行速度慢,重用代码不方便,没有调试机制
4:
C#中的委托是什么?
事件是不是一种委托?
答委托本质上是一种方法接口,它相当于C/C++中的函数指针,当然它比函数指针安全,在C#中通常用于事件处理。
与JAVA相比,可以避免使用大量小粒度的匿名类。
事件不是委托,不过由于事件的性质决定了处理它的程序逻辑能访问的参数,因此,在C#中处理事件的逻辑都包装为委托(一种方法接口)。
实际上,如果你处理自定义的事件,就像JAVA中那样用接口实现也是可以的,不过这么做在C#一般没有什么特别的好处。
5:
new有几种用法
第一种:
newClass();
第二种:
覆盖方法
publicnewXXXX(){}
第三种:
new约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。
6:
如何把一个array复制到arrayList里
答foreach(objectoinarray)
{
arrayList.Add(o)
}
7:
DataGrid、DataSource可以连接什么数据源
答[DataSet、DataTable、DataView]DataSet、DataTable、DataView、IList
8:
概述反射和序列化
答反射:
程序集包含模块,而模块包含类型,类型又包含成员。
反射则提供了封装程序集、模块和类型的对象。
可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型,然后,可以调用类型的方法或访问其字段和属性
答序列化:
序列化是将对象转换为容易传输的格式的过程。
例如,可以序列化一个对象,然后使用HTTP通过Internet在客户端和服务器之间传输该对象。
在另一端,反序列化将从该流重新构造对象。
9:
概述OR/Mapping的原理
答利用反射,配置将类于数据库表映射
10:
类成员有()种可访问形式
答可访问性:
public、protected、private、internal
11:
用sealed修饰的类有什么特点
答sealed修饰符用于防止从所修饰的类派生出其它类。
如果一个密封类被指定为其他类的基类,则会发生编译时错误。
密封类不能同时为抽象类。
sealed修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。
具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。
12:
执行下面代码后:
StringstrTemp=abcdefg某某某
IntiSystem.Text.Encoding.Default.GetBytes(strTemp).Length;
Intj=strTemp.Length;
问:
i=(14);j=(11)
i=(14);j=(11)中文两个字节
13:
C#中,stringstr=null与stringstr=,请尽量用文字说明区别。
(要点:
说明详细的内存空间分配)
答stringstr=null是不分配内存空间,而stringstr=给它分配长度为空字符串的内存空间。
14:
概述.NET里对Remoting和Webservices两项技术的理解和实际中的应用
答远程逻辑调用,Remoing接口只能用在.NET中
16:
概述三层结构体系
答表示层数据层业务层
17:
用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?
答:
一般为3层
数据访问层,业务层,表示层。
数据访问层对数据库进行增删查改。
业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等。
表示层为了与用户交互例如用户添加表单
优点:
分工明确,条理清晰,易于调试,而且具有可扩展性。
缺点:
增加成本。
18:
什么是ASP.NET中的用户控件
答:
用户控件就是.ascx扩展名的东西喽,可以拖到不同的页面中调用,以节省代码.比如登陆可能在多个页面上有,就可以做成用户控件,但是有一个问题就是用户控件拖到不同级别的目录下后里面的图片等的相对路径会变得不准确,需要自已写方法调整。
19:
什么叫应用程序域?
什么是受管制的代码?
什么是强类型系统?
什么是装箱和拆箱?
什么是重载?
CTS、CLS和CLR分别作何解释?
答应用程序域可以理解为一种轻量级进程。
起到安全的作用。
占用资源小
受管制的代码:
unsafe:
非托管代码。
不经过CLR运行。
强类型系统RTTI:
类型识别系统。
装箱就是把值类型到引用类型的转换
拆箱就是引用类型到值类型的转换
重载方法名相同不用个数的参数或者指定不同参数类型
CTS:
通用语言系统。
CLS:
通用语言规范。
CLR:
公共语言运行库。