.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)以查询数据库相同的方式操作内存数据
数据库优化