本文主要是介绍搜集的一些asp.netMVC面试题(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、谈谈你对EF的理解?
有i很多,比如说EF实现机制,最核心的是对象关系映射机制和LINQ To EF Provider,在此基础上的缓存机制、延迟加载、对象状态跟踪、事务等等,从对开发者的影响上来说,EF是微软官方的ORM框架,结束了之前各种第三方ORM混战的局面,统一了API,这无疑是开发者的福音。EF拥有非常优雅的,基于C#/VB语言优化的API,比如原生的LINQ查询,自然的Code First的对数据结构的定义,Fluent API方式的数据库和关系的定义等等。VS完美支持EF并且提供了多种数据库的适配。
2、字段和属性有什么区别?
如果你编写一些控件给别的开发者用,而需要给他们提供“数据绑定”这种傻瓜化的机制,那么使用属性才可以做到。
属性是方法而字段不是,当你用反射去掉用的时候,它们有各自的API。因为属性是方法,所以它可以和方法那样定义在接口中,或者被继承和重写,重写属性被ORM/AOP等框架用来注入代码。
3、抽象方法和虚方法的区别?
抽象方法一定是虚方法,虚方法未必是抽象方法。虚方法是指可以被继承类重写的方法,而抽象方法是指,基类是抽象类,没有实现它,因此必须被继承类重写的方法。
4、New的几种用法?
除了作为创建对象实例的关键字以外,new还有个罕见的用法,就是在派生类定义一个重名的同函数签名的方法,隐藏掉基类的方法。另外就是泛型约束定义构造函数约束的时候用。
5、什么叫做泛型?
从编程的角度说是在定义类或者方法的时候省去具体的类型,由调用者来指定,类型+泛型类型合成得到真正的类型。从实现机制上说,泛型是CLR在运行时动态根据泛型类型创建的匿名类型。从OO设计的角度说,泛型体现了多态性。泛型使得程序员可以复用数据结构和算法,并且适应不同的类型,享有编译期间的强类型检查和语法提示。
一些经典的FCL提供的泛型类型和接口: List、Dictionary<T1, T2>这个属于复用数据结构 IComparer、IEnumerable这个属于复用算法
6、什么叫做类?
就C#而言,类是对象的模板,对象是类的实例。C#是强类型语言,一切皆需要类型,除了内置的简单类型,那些其实例为引用对象的都叫做类。C#也允许定义抽象类和密封类,以及两者的叠加——静态类,它们都无法实例化,其实这是编译器的限制,本质上它们和一般的类没有区别,是特殊情况
7、请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点?
1.QueryString 传递一个或多个安全性要求不高或是结构简单的数值。但是对于传递数组或对象的话,就不能用这个方法了
2.session(viewstate) 简单,但易丢失 作用于用户个人,过量的存储会导致服务器内存资源的耗尽。
3.application 对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock
4.cookie 简单,但可能不支持,可能被伪造 Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合ASP.NET内置对象Request来使用
5.input ttype=“hidden” 简单,可能被伪造
6.url参数简单,显示于地址栏,长度有限
8、接口是否继承接口?,抽象类是否可实现(implement)接口?抽象类是否可继承实体类(concrete class)?
接口可以继承接口,抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。
9、post和get的区别?
1、post的参数不会显示在浏览器地址栏中,get的参数会显示在浏览器的地址栏中
2、用post可以提交较大的数据,get提交的数据非常小(2k)
3、用post可以进行文件的提交,get不可以
10、MVC优点?
1.通过把项目分成model view和controller,使得复杂项目更加容易维护。
2.没有使用view state和服务器表单控件,可以更方便的控制应用程序的行为
3.应用程序通过controller来控制程序请求,可以提供丰富的url重写。
4.对单元测试的支持更加出色
5.在团队开发模式下表现更出众
11、MVC缺点?
(1)增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。
(2)视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。
(3)视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。
这篇关于搜集的一些asp.netMVC面试题(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!