.net面试题及答案2

时间:2022-10-03 19:08:40
 

.net 反射机制

可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现 有对象中获取类型。 (可以运用到工厂模式中)

Calculator.dll

 

Using Calculator;

Using System.Reflection;

Assembly assembly=new Assembly.Load(“Calculator”);

Foreach(Type type in assembly.GetTypes())

{

       Console.WriteLine(type.Name + “是Calculator命名空间下的类”);

}
序列化

序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据

.net 提供2种序列化技术:2进制序列化,xml序列化

BinaryFormatter,SoapFormatter,XmlFormatter

Serialize,   Deserialize 方法
Web多人访问并发问题

访问之前先检查数据是否存在

序列化反序列化

读取锁
数据库SQL效率问题

尽可能少的返回字段数及数据条数,按需取值

尽量减少关联查询,关联查询时,数据量大的表放在前面

对某些字段作索引

适当使用临时表

通过sql profile跟踪某段sql语句或某个存储过程,看它运行时间,并执行查询分析优化方案,系统自动推荐最佳优化方案

机器性能、带宽等

有MVC3.0框架开发经验最佳

 

as/is区别

 as 和强制类型转换是一样的,但是永远不会抛出异常,即使如果转换不成功,会返回null

 is 检查一个对象是否兼容于其他指定的类型,并返回一个bool值,永远不会抛出异常

javascript事件的机制(两个阶段)

捕获型事件(非IE)

冒泡型事件(所有浏览器都支持)

数据库设计有哪些经验

      先熟悉老系统、同类型的系统,学习优秀的地方,找出不足之处

      动手之前,先理解业务和需求

      先画ER图

      命名规范,前缀

      注意数据范围类型如 smallint最大值是32767,tinyint是0至255

      视图、存储过程等

设计模式

    为了可重用代码、让代码更容易被他人理解、保证代码可靠性

特殊字符输入比如尖括号

 

设计一个抢购功能

       数据库表中有一个起始时间A、结束时间B

如果服务器当前时间C早于B,则抢购功能可用。

在客户端实现一个倒计时功能,时间结束后,抢购的相关信息全部不可用(灰显)

控件并发

MVC优点

分别为: 模型(Model),视图(View)和控制Controller)。 MVC模式的目的就是实现Web系统的职能分工

结构清晰,利于维护,工程化管理

反射

 

序列化

 

.NET垃圾回收机制

 

并发

 

还有接口和抽象类的区别

接口可以被多重继承,一个类只能继承一个超类

接口的所有方法都是抽象的,而抽象类可以带有一些方法体的

实现接口的类一定要实现接口中定义的所有方法,而实现抽象类可以有选择的重写需要用到的方法

为什么要用,为了扩展、多态,代码重用。方便后续扩展和维护!

cookie、session

都是用来临时存储来访者信息,有很多情况下,使用两者都可以实现某些特定功能,而两者的根本区别是Cookie对象将信息存放在客户端,Session对象存放在服务器端;从生存期上讲,Cookie可以长期保存,而Session的生存期仅仅到会话结束;

 

Jquery

Jquery是继prototype之后又一个优秀的Javascrīpt框架。它是轻量级的js库(压缩后只有21k) ,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。jQuery使用户能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。

结构(struct)是否可以继承接口 

不可以,只能实现接口,但不能继承,可以在结构中写方法

asp.Net MVC3.0框架与传统asp.net的区别

    传统asp.net是拖控件,控件封闭了很多东西,开发者很难了解背后的html是如何动作的;容易得到一个包含大量viewState的页面,打开速度较慢;不容易被测试

    MVC一种软件架构模式,没有数据回传,没有在页面中保存视图状态,开发者可完全掌控页面的呈现过程,易于单元测试,易于测试驱动开发,可扩展、可替换。

Wcf

 windows communication foundation,用于通信接口的开发

通过合约的方式来实现,多个客户端可以调用某处服务端的接口来实现通信,与webservice功能类似。

jquery的应用  jquery easyui 第三方的jquery插件

linq 语言集成查询(Language INtegrated Query)以查询数据库相同的方式操作内存数据

数据库优化