ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:46.72KB ,
资源ID:20608927      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20608927.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(NET面试Word格式文档下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

NET面试Word格式文档下载.docx

1、MVC(Model-View-Controller)把交互系统的组成分解成模型、视图、控制器三种部件 mvc的优点:1.通过把项目分成model view和controller,使得复杂项目更加容易维护。2.没有使用view state和服务器表单控件,可以更方便的控制应用程序的行为 3.应用程序通过controller来控制程序请求,可以提供丰富的url重写。4.对单元测试的支持更加出色 5.在团队开发模式下表现更出众 MVC的不足:(1)增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。(2)

2、视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。(3)视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。如何实现MVC模式,举例说明!web/business/dataaccess列举ASP.NET 页面之间传递值的几种方式。1.使用QueryString, 如.?id=1; response. Redirect(). 2.使用Session变量 3.使用Server.Transfer 请说明

3、在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。QueryString 传递一个或多个安全性要求不高或是结构简单的数值。但是对于传递数组或对象的话,就不能用这个方法了 session(viewstate) 简单,但易丢失 作用于用户个人,过量的存储会导致服务器内存资源的耗尽。application 对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock cookie 简单,但可能不支持,可能被伪造 Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合ASP.NET内置对象Request来使用 input

4、 ttype=hidden 简单,可能被伪造 url参数简单,显示于地址栏,长度有限 Server.Transfer 把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流 数据库稳定,安全,但性能相对弱 什么是Viewstate?它有什么作用?ViewState用来保存页面状态,就是说提交之后我们还可以看到文本框里面的内容就是ViewState保存的功劳。ViewState只维护当前页面的状态,不同页面之间不能共享,Session可以。ViewState你可以理解为一个隐藏控件。ASP.Net页面生命周期 每个页面的生命周期为用户的每一次访问,也就是说每一次客户端与服务器之间的一

5、个往返过程.全局变量的生命周期在此之间.1. Page_Init();2. Load ViewState and Postback data;3. Page_Load();4. Handle control events;5. Page_PreRender();6. Page_Render();7. Unload event;8. Dispose method called;ADO.net中常用的对象有哪些?分别描述一下。Connection 打开数据库连接 Command 执行数据库命令 DataAdapter 连接数据,执行数据库命令,填充DataSet DataSet 数据在内存中的缓存

6、,数据结构 DataReader 只读向前的读取数据库 DataReader和DataSet的异同 DataReader使用时始终占用SqlConnection,在线操作数据库.任何对SqlConnection的操作都会引发DataReader的异常.因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的.因为DataReader的特殊性和高性能.所以DataReader是只进的.你读了第一条后就不能再去读取第一条了. DataSet则是将数据一次性加载在内存中.抛弃数据库连接.读取完毕即放弃数据库连接.因为DataSet将数据全部加载在内存中.所以比较消耗内存.但是确比D

7、ataReader要灵活.可以动态的添加行,列,数据.对数据库进行回传更新操作. 存储过程和sql语句的优缺点 1.提高性能,减少网络传输,节约时间 。2.减少网络流量 存储过程位于服务器上,调用的时候只须传递存储过程的名称以及参数,不用每次访问都传递很长的sql 语句。4.安全性 减少sql 注入式攻击。5.可维护性高 更新存储过程通常比更改、测试以及重新部署程序集需要较少的时间和精力。1.交互性差 。2.可移植性差 说出你所了解的数据库访问组件(例如ADO,至少4种) ADO,ADO.Net,MDAC(Microsoft Data Access Components),Microsoft

8、SQL Server OLE DB Provider, Microsoft Jet OLE DB Provider,Desktop Database Drivers ODBC Driver,Visual FoxPro ODBC Driver 什么是面向对象 万物都是对象,其主要特征:封装、继承、多态 怎样实现多态1.通过对象直接调用成员函数时,始终默认使用该对象的类的成员函数(除非用:显示指定类名)。2.通过指向对象的指针或引用调用成员函数时:如果该函数是实函数,则调用该指针或引用的类的成员函数;如果该函 数是虚函数,则调用该指针或引用指向的对象的类的成员函数。面向对象的思想主要包括什么?任何

9、事物都可以理解为对象,其主要特征: 继承。封装。多态。特点:代码好维护,安全,隐藏信息 什么是装箱和拆箱?从值类型接口转换到引用类型装箱。从引用类型转换到值类型拆箱。装箱(boxing)是将值类型的数据转化成引用类型,int i=3; object o = i ;便是装箱过程,而拆箱(unboxing)是将饮用类型数据转换值类型,比如int j = (int)o;属于拆箱 什么是Interface?它与Abstract Class有什么区别?接口(Interface)是用来定义行为规范的,不会有具体实现,而抽象类除定义行为规范外,可以有部分实现,但一 个类能实现多个接口,但只能继承一个父类什么

10、时候使用抽象类,什么时候用接口 接口用于规范,抽象类用于共性。接口中只能声明方法,属性,事件,索引器。而抽象类中可以有方法的实 现,也可以定义非静态的类变量。抽象类是类,所以只能被单继承,但是接口却可以一次实现多个。抽象类可以 提供某些方法的部分实现,接口不可以.抽象类的实例是它的子类给出的。接口的实例是实现接口的类给出的。再抽象类中加入一个方法,那么它的子类就同时有了这个方法。而在接口中加入新的方法,那么实现它的类就要 重新编写(这就是为什么说接口是一个类的规范了)。接口成员被定义为公共的,但抽象类的成员也可以是私有 的、受保护的、内部的或受保护的内部成员(其中受保护的内部成员只能在应用程序

11、的代码或派生类中访问)。此外接口不能包含字段、构造函数、析构函数、静态成员或常量。什么是抽象类(abstract class)?一种不可以被实例化的类。抽象类中一般含有抽象方法,当然也可有具体实现。继承类只有实现过所有抽 象类的抽象方法后才能被实例化。何时必须声明一个类为抽象类?当这个类中包含抽象方法时,或是该类并没有完全实现父类的抽象方法时。接口(interface)是什么?只含有共有抽象方法(public abstract method)的类。这些方法必须在子类中被实现。为什么不能指定接口中方法的修饰符?接口中的方法用来定义对象之间通信的契约,指定接口中的方法为私有或保护没有意义。他们默认

12、为公有方法。可以继承多个接口么?当然。那么如果这些接口中有重复的方法名称呢?这种情况中你可以决定如何实现。当然需要特别得小心。但是在编译环节是没有问题的。接口和抽象类的区别是什么?接口中所有方法必须是抽象的,并且不能指定方法的访问修饰符。抽象类中可以有方法的实现,也可以指 定方法的访问修饰符。详述.NET里class和struct的异同!类是引用类型,可以继承类、接口和被继承,有默认的构造函数,有析构函数,可以使用abstract和sealed,有protected修饰符,必须使用new初始化。结构是值类型,只能继承接口,不能被继承,没有默认的构造函数,可以创建,没有析构函数,不可以用abst

13、ract和sealed,没有protected修饰符,可以不用new初始化。如何选择结构还是类 1 堆栈的空间有限,对于大量的逻辑的对象,创建类要比创建结构好一些 2 结构表示如点、矩形和颜色这样的轻量对象 例如,如果声明一个含有 1000 个点对象的数组,则将为引用每个对象分配附加的内存。在此情况下,结构的成本较低。3 在表现抽象和多级别的对象层次时,类是最好的选择 4 大多数情况下该类型只是一些数据时,结构时最佳的选择 C#中的接口和类有什么异同。异:不能直接实例化接口。接口不包含方法的实现。接口、类和结构可从多个接口继承。但是C# 只支持单继承:类只能从一个基类继承实现。类定义可在不同的

14、源文件之间进行拆分。同:接口类似于抽象基类:继承接口的任何非抽象类型都必须实现接口的所有成员。接口可以包含事件、索引器、方法和属性。一个类可以实现多个接口。const和readonly有什么区别?const关键字用来声明编译时常量,readonly用来声明运行时常量。用sealed修饰的类有什么特点 sealed 修饰符用于防止从所修饰的类派生出其它类。如果一个密封类被指定为其他类的基类,则会发生编译时错误。密封类不能同时为抽象类。sealed 修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永 远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转

15、换为非虚拟调用来处理。虚函数的用法 1)virtual指明一成员函数为虚函数,而virtual仅用于类的定义里,在类外可不加此关键字. 2)一个类的成员函数被定义为虚函数时,子类该函数仍保持虚函数特征. 3)子类覆盖此函数时,定义里可不加virtual关键字,但函数声明要和基类的完全一致!且此声明是必须的. 4)不是纯虚函数时,父类的虚函数必须要实现; 而若将父类的虚函数设定为纯虚函数时,子类必需要覆盖之而且必须要实现之!解释virtual、sealed、override和abstract的区别 virtual申明虚方法的关键字,说明该方法可以被重写 sealed说明该类不可被继承 overr

16、ide重写基类的方法 abstract申明抽象类和抽象方法的关键字,抽象方法不提供实现,由子类实现,抽象类不可实例化。重载和覆写有什么区别?重载是方法的名称相同,不同的参数类型,不同的参数个数,不同的参数顺序。覆写提供了子类中改变父类方法行为的实现(是进行基类中函数的重写)。在方法定义中,virtual有什么含义?被virtual修饰的方法可以被子类覆写 能够将非静态的方法覆写成静态方法吗?不能,覆写方法的签名必须与被覆写方法的签名保持一致,除了将virtual改为override。可以覆写私有的虚方法吗?不可以,甚至子类中无法访问父类中的私有方法 能够阻止某一个类被其他类继承吗?可以,使用关

17、键字sealed 能够实现允许某个类别继承,但不允许其中的某个方法被覆写吗?可以,标记这个类为public,并标记这个方法为sealed。如何区别重载方法?不同的参数类型,不同的参数个数,不同的参数顺序 c#继承:base 表示当前对象基类的实例(使用base关键字可以调用基类的成员)this表示当前类的实例在静态方法中不可以使用base和this关键字派生类会继承基类所有的成员但是构造函数和析构函数不会被继承注意如果派生类的方法和基类的方法同名则基类中的方法将会被隐藏如果需要隐藏则可以使用关键字new来隐藏如果不写new关键字默认处理为隐藏虽然基类中同名的方法被隐藏了但是还是可以通过base

18、关键字来调用/如果子类方法的方法名和基类的方法名相同时,系统将隐藏基类同名方法,自动调用子类的同名方法/派生类会继承基类所有的成员,但是不能显示调用基类的是有成员/在派生类中不可以调用基类的是有成员,如num1,num2,但是可以实现调用基类方法virtual 用在基类中指定一个虚方法属性表示这个方法属性可以重写override 用在派生类中表示对基类虚方法属性的重写不能重写非虚方法或静态方法重写的基方法必须是 virtualabstract 或 override 的为什么 override 也可以重写呢因为基类中的 override 实际上是对基类的基类进行的重写由于继承可传递所以也可以对基

19、类中 override 的方法进行重写override 声明不能更改 virtual 方法的可访问性override 方法和 virtual 方法必须具有相同的访问级别修饰符不能使用修饰符 newstaticvirtual 或 abstract 来修改 override 方法重写属性声明必须指定与继承属性完全相同的访问修饰符类型和名称并且被重写的属性必须是 virtualabstract 或 override 的标记允许被重写修饰静态方法中不允许使用virtual关键字成员变量允许使用virtual关键字属性可以被声明为虚属性(使用virtual关键字)重写基类的方法(重写同名的方法中有vir

20、tual关键字的方法)重写和隐藏的区别隐藏(new关键字)是给子类的同名方法分配新的内存空间重写(override关键字)是子类的同名方法放在基类同名方法的原来所在位置基类的同名方法位置向后移属性也可以重写virtual关键字和override关键字是成对出现的否则是语法错误派生类可以通过将重写声明为 sealed 来停止虚拟继承这需要在类成员声明中的 override 关键字前面放置 sealed 关键字在子类中重写基类中的虚方法时可以使用base关键字调用基类中的虚方法/使用base关键可以在子类中访问基类同名的方法/父类的引用指向子类的实例Test ts = new Test2();父类

21、的引用指向子类的实例(调用的是子类的方法)父类的引用只认识父类的方法不认识子类的新方法可以用来调用被子类覆盖的父类的方法父类的引用依然到父类方法位置去调用如果基类方法被声明为virtual并且在子类中被override结果访问到的是被子类override的方法C#中的委托是什么?事件是不是一种委托? 委托可以把一个方法作为参数代入另一个方法。委托可以理解为指向一个函数的引用。是,是一种特殊的委托 C#中的堆和栈 栈(Stack)由系统管理生存期,存储代码执行和调用路径,执行或调用完毕即从栈中清除;堆(Heap)中保存值和对象,调用完毕之后依然存在,由垃圾回收器查找栈中有无指向该值或对象的引用,

22、无则从堆中删除你对泛型了解吗?简单说明一下泛型的有什么好处?泛型:通过参数化类型来实现在同一份代码上操作多种数据类型。利用“参数化类型”将类型抽象化,从而实现灵活的复用 好处是类型安全和减少装箱、拆箱。提高性能、类型安全和质量,减少重复性的编程任务 C#中所有对象共同的基类是什么?System.Object. 如何在C#中实现继承?在类名后加上一个冒号,再加上基类的名称。C#支持多重继承吗?不支持。可以用接口来实现。被protected修饰的属性/方法在何处可以访问?在继承或间接继承与这个类的子类中可以访问。私有成员会被继承么?会,但是不能被访问。所以看上去他们似乎是不能被继承的,但实际上确实

23、被继承了。C#提供一个默认的无参构造函数,当我实现了另外一个有一个参数的构造函数时,还想保留这个无参数的构 造函数。这样我应该写几个构造函数?两个,一旦你实现了一个构造函数,C#就不会再提供默认的构造函数了,所以需要手动实现那个无参构造 函数。简述 private、 protected、 public、 internal 修饰符的访问权限。private : 私有成员, 在类的内部才可以访问。protected : 保护成员,该类内部和继承类中可以访问。public : 公共成员,完全公开,没有访问限制。internal: 在同一命名空间内可以访问。new的两种用法 实例话对象,隐藏基类方法。

24、.new有几种用法 第一种:new Class();第二种:覆盖方法 public new XXXX() 第三种:new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。3.datagrid.datasouse可以连接什么数据源 dataset,datatable,dataview dataset,datatable,dataview , IList 类成员有( )种可访问形式 可访问性:public ,protected ,private,internal 委托与事件的用法 public delegate void handels();/返回值是void,没有参数 publi

25、c event handels eventHandels;his.eventHandels = new handels(fun);public void fun() 传入某个属性的SET方法的隐含参数的名称是什么?value,它的类型和属性所声明的类型相同。string是值类型还是引用类型?引用类型 String类与StringBuilder类有什么区别?为什么在.Net类库中要同时存在这2个类?(简答) stringBuilder比string更节约内存,所以stringBuilder更快 String 对象是不可改变的。每次使用 System.String 类中的方法之一或进行运算时(如赋

26、值、拼接等)时,都要 在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。而 StringBuilder 则不会。在需要对字 符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常昂贵。如果要修改字符串而不 创建新的对象,则可以使用 System.Text.StringBuilder 类。例如,当在一个循环中将许多字符串连接在一起时 ,使用 StringBuilder 类可以提升性能。在C中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。string str = null 是不给他分配内存空间,

27、而string str = 给它分配长度为空字符串的内存空间。ASP.net的身份验证方式有哪些?分别是什么原理?Windwos(默认) 用IIS.From(窗体) 用帐户.Passport(密钥) Session有什么重大BUG,微软提出了什么方法加以解决?是iis中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sate server或SQL Server数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的END事件 c#中的三元运算符是 ?:.能用foreach遍历访问的对象需要实现() 接口或声明 ( GetEnumerator)方法的类型。. 和

28、 有什么区别?表示绑定的数据源 是服务器端代码块 常量 在.net(C# or )中如何获得当前窗体或控件的句柄,特别是控件本身的句柄(请列举)this(C#) Me(). .C#可否对内存进行直接的操作?在.net下,.net引用了垃圾回收(GC)功能,它替代了程序员 不过在C#中,不能直接实现Finalize方法,而是在析构函数中调用基类的Finalize()方法 DateTime是否可以为null?不能,因为其为Struct类型,而结构属于值类型,值类型不能为null,只有引用类型才能被赋值null DateTime.Parse(myString); 这行代码有什么问题?有问题,当myString不能满足时间格式要求的时候,会引发异常,建议使用

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

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