日期:2014-05-18  浏览次数:20548 次

亲身经历面试题 诸位帮看下 内容较杂
如题:

多选题:
1.A   接口可以有虚方法   B   一个类可以实现多个接口   C   接口不能被实例化   D   接口中可以包含已经实现的方法
我的答案:ABC
2.查询数据可能用到的方法
    A   ExecuteNonQuery   B   ExecuteScalar   C   Fill   D   ExecuteReader
我的答案:BCD
3.页面间传递变量的方式有:
    A   Session   B   Cookie   C   ?   D   Request
我的答案:ABCD
简答题:
1.DataReader与DataSet的区别是什么?
我的答案:前者占用内存空间小   速度快   但不可编辑   后者占用内存空间大   速度相对较慢   但可以编辑
2.Asp.net的三层架构是什么?
我的答案:显示层   业务逻辑层   数据库访问层
3.Override与重载的区别是什么并举例说明
我的答案:前者是重写从基类继承来的方法   举例   Web窗体设计器中就有一个方法是Override的   重载体现了面向对象理论中的多态性   举例                                                                                               .NET框架中的ToString方法
诸位帮看下


------解决方案--------------------
1.DataReader与DataSet的区别是什么?
我的答案:前者占用内存空间小 速度快 但不可编辑 后者占用内存空间大 速度相对较慢 但可以编辑

没有说出本质区别。DataReader是占用数据库链接的,直接从数据库一条一条读的。。只向前读的游标。。。。。 而DataSet是断开数据库链接的,是在内存中的数据容器。不占用数据库链接


3.Override与重载的区别是什么并举例说明
重载是根据方法的签名不同来区别不同的方法,重载的方法除了方法名称相同外没有任何关系,同一个类中可以重载多个方法。
重写是要求2个方法的签名必须相同,派生类的方法重写了基类相同的方法,对该方法进行补充和添加。重写的方法和被重写的方法是在不同的类中。其实他们之间是同一个方法在不同类中的状态

因此,是重写体现了多态而不是重载。
------解决方案--------------------
1.DataReader 每次只能读出一条记录。 DataSet可以一次取道很多条记录
。DataReader 是一个向前读取器,不能像DataSet一样读取指定行的数据