.Net笔试2

来源:互联网 发布:淘宝购物客户资源 编辑:程序博客网 时间:2024/04/25 23:38
1. 值类型和引用类型的区别 
答:值类型就是一块内存空间,存的是数据本身,引用类型需要两块内存空间,一个是存地址,一个是存数据。


2. ASP。NET 中共有几种类型的控件?各有什么区别?
答:WEB控件分为:内部控件,列表控件,复杂控件,验证控件,
内部控件是使用方法与HTML控件相同,它们映射到HTML元素并通过使用runat=server,
列表控件用于在Web页中创建数据列表,验证控件输入控件的数据需要进行准确性和取值范围方面的检查。


3.swtich 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上? 
答:switch(abc)中,abc是一个整数表达式,因此传递给switch和case语句的参数应该是int,short,char,byte
long,string都不能用于switch上。


5. 什么是 Viewstate?它有什么作用?
答:ViewState是视图状态,用来保存页面状态的。


6. ASP.Net 页面生命周期 ?
答:页请求,开始,页初始化,加载,验证,回发事件处理,呈现,卸载。


7. 存储过程和 sql 语句的优缺点  
答:存储过程预编译好的代码直接存储在数据库中,优点:执行效率高,安全性较好,缺点:可移植性差,
sql语句灵活,优点:可移植性强,缺点,不好调试,查询速度比存储过程慢些。



8. 什么是装箱和拆箱? 
答:值类型转换为引用类型就是装箱,反之,引用类型转换为值类型就是拆箱。


9. const 和 readonly 有什么区别? 
答:const字段只能在该字段的声明中初始化,readonly字段可以在声明或构造函数中初始化,
const字段为编译时常数,readonly字段可用于运行时常数。
const修饰常量要赋值的 声明时必须赋值 即可修饰属性又可修饰局部变量,
 readonly 只读的 只能修饰属性可以不赋值 通过构造函数来赋值。



10. 在方法定义中,virtual 有什么含义?
答:Virtrual虚方法,可以在子类中重写它,

virtual的作用是在父类(baseclass)先定义一个方法,在子类(classA)中如果使用override关键字重写此方法

,则实例化对象时调用子类方法;如果不使用override,则调用父类的虚方法.



11. 你对泛型了解吗?简单说明一下泛型的有什么好处? 
答:泛型可以看做是一个代码的模块,以数据类型作为参数的类,主要好处有类型安全,通译性好


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

答:是iis中由于有进程回收机制,系统繁忙的话Session会丢失,

可以用Sateserver或SQLServer数据库的方式存储Sessiion不过这种方式比较慢,而且无法捕获Session的END事件。



13. DateTime 是否可以为 null?  
答:默认不可以为null,DataTime是值类型,因为结构没有值能为空的  加?就是可空值类型。


14. DateTime.Parse(myString); 这行代码有什么问题?  
答:有问题,当myString不能满足时间格式要求的时候,会引发异常,简要使用DateTime.TryParse().
同时,还需要注意到文化区域的设置,如果做代码规范检查,该语句也不符合规范,就是因为缺少文化区域的设置


15. 常用的调用 WebService 的方法有哪些? 
答:在C#中,首先添加引用,实例化Web Service,然后直接调用方法来调用,
比如Java或者JavaScript直接post或者get地址(带参数)回调返回值就行了。 
WebService服务端使用.Net调用,使用JavaScript调用,通HTTP直接调用。


16. O/R Mapping 的原理?
答:ORM既Object-RelationMapping,它的作用是利用反射,配置,
在关系型数据库和对象之间作一个映射,在类于数据库表映射。


17. PDB是什么东西? 在调试中它应该放在哪里?
答:PDB是用于保存调试和项目状态信息的文件,在debug的时候将产生pdb文件,
调试的时候应该放在和对应应用程序集相同目录,默认的是同一目录。
ide还可以设置全局pdb symbol文件的地址,这也是vs2008能调试.net framework source code的方法。还可以为解决方案指定pdb位置。


18. 概述反射和序列化 ? 
答:反射其实就对程序集的动态操作,程序集包括了模块,而模块里面包含类型,类型又包含成员,反射提供了封装程序集,模块和类型的对象。
序列化简单理解成把对象转换为容易传输的格式过程,比如,可以序列化一个对象,然后使用HTTP通过Internet在客户端和服务器端之间传输该对象,在另一端可以使用序列化从该流重新构造对象。


19. 解释一下 ajax 及实现原理?  
答:Ajax是处理异步求求,局部刷新技术,通过XmlHttpRequest对象来向服务器发送异步请求异步从服务器端获取txt或者xml数据。
基本原理就是通过XmlHttpRequesr这个核心,向服务器提交异步请求,从而达到页面无刷新的效果。
Ajax是JavaScript,XML,DOM,CSS的集合体,JavaScript的HttpRequest请求,异步返回处理结果。




20. 什么是 GAC?它解决了什么问题?  
答:GAC全称是Global Assembly Cache(全局程序集缓存),存放系统或者应用程序共享的程序集,
解决了多个应用程序共享程序集的问题,而不用把所有的程序集放入到应用程序目录中,存放这些程序集的路径一般在/%winroot%/assembly中。


21. 对 ORM 熟悉吗?它与存储过程,DataSet 有什么区别 、有什么优缺点?
答:dataset表示一个数据集,是数据在内存中的缓存。 可以包括多个表
DatSet 连接数据库时是非面向连接的。把表全部读到Sql中的缓冲池,并断开于数据库的连接

DataSet就像内存数据库,   
  DataTable就是表,   
  库可以包含多个表,也可以包含表之间的关系。

22. SQL Server数据库中,哪种方法获取很多记录?(100万,200万)? 
答:select * from sysindexes  系统表 专门记录的数
where id = OBJECT_ID('books'),



23. SQL Server 中插入一条记录,如何能更快的查询到该记录作为自增变量的值?
答:select @@IDENTITY全局变量 最新增长的值


24. 说说什么是设计模式(design pattern),设计模式有什么作用。.

写出你熟识的模式,并说明 ?

答:计模式可以提高软件的扩展性,代码的健壮性和重复利用性,

设计模式是实现软件工程四大原则( 开闭原则, 里氏代换原则,依赖倒转原则,接口隔离原则)的前提和基础。

简单工厂模式Simple Factory根据提供给它的数据,返回一个类的实例。通常它返回的类都有一个公共的父类(或者接口对象)。

单件模式(Singleton)要求一个类有且仅有一个实例,并且提供了一个全局的访问点。

从概念上来研究一下它的实现,不考虑线程安全




对一列特定的业务问题,单例(Singleton)模式:运行期间只能有一个实例存在,只有一个实例
class Singleton
{
private Singleton()//构造函数一定要私有
{


}
private static Singleton instance;声明私有的
public static Singleton Instance得再公布一个实例出来
{
get
{
if(instatnce == null)
instance = new Singleton();
return instance;
}
}
}
0 0