.NET基础知识

来源:互联网 发布:down.php迅雷9打开 编辑:程序博客网 时间:2024/05/20 01:37

在clr上编译运行的代码就是托管代码 
非CLR编译运行的代码就是非托管代码 
非托管代码用dispose free using 释放 

理性认识:

托管: .net框架下的程序 。c#,vb.net 等等。

非托管: c++ ,vb 等等,只要不是用 .net 写的程序,都可以认为是非托管。

3.软件测试方法分为(白盒测试)(黑盒测试)。
4..NET通过对各语言先编译成( MSIL),然后再执行时用(JIT )将其编译成本地平台代码,来实现异构平台下对象的互操作
5.在SQL SERVER 中游标的声明的语句是(DECLARE 游标名称 [INSENSITIVE] [SCROLL]CURSOR FOR select语句[FOR{READ ONLY|UPDATE[OF 列名字表]}])释放的语句是(DEALLOCATE 游标名)。
6.SQL SERVER的编程语言是(T-SQL)语言
7.委托声明的关键字是(delegate)。
8.在MS SQL Server中,用来显示数据库信息的系统存储过程是()
9.SQL语言中,用于事务回滚的语句是(ROLLBACK)。
10.如果两个实体之间具有M:N联系,则将它们转换为关系模型的结果是(3)个表(新增一个关系表)。
11.Codebehind主要是通过把(声明)和(定义)放在不同的文件中来实现代码分离的。
12.在C#中由值类型转换为引用类型称为(装箱),有引用类型转换为值类型称为(拆箱)
13.SQL SERVER中索引类型包括的三种类型分别是(唯一索引)(聚集索引)(非聚集索引)。
14.软件工程的三大文档(需求分析)(系统设计)(数据库设计)。
15.在SQL SERVER2000中的四中约束(主键约束)(外键约束)(唯一约束)(检查约束)。
二.简答题
1.什么是中间语言(IL)?它的作用?
编译托管代码的编译器在编译之后将高级语言代码转换为MSIL代码,它的作用是屏蔽高级语言间的差异
,实现跨语言开发。因为可以编写托管代码的各种语言(VB,C#,托管C++)代码在被编译后生成通用
的IL,实现多种语言的协同开发与跨语言的调用
2.C#中与基类通信的关键字什么?作用是什么?
base
在派生类中使用基类的属性、方法或者共有字段
3.什么是元数据?
metadata
高级语言被编译为IL后,源程序中涉及到的所有类以及类中的属性、字段和方法都会被表示为metadata
,在JIT执行IL时,遇到调用时就会在metadata中搜索。metadata的作用同样是屏蔽高级语言的差异
4.ASP。NET和ASP的主要优势?
5.Override与重载有什么区别?
override是覆盖,会隐藏基类中的同名(函数名与参数表均相同)方法,实现是派生类对基类的改进
而重载是声明函数名相同但参数表不同的方法,是多态的一种体现
6.SQL SERVER 中的触发器的理解?
7. ref与out有什么区别?
ref主要用于向方法内部传递参数,在参数是引用类型时,可以避免参数传递时对象的构建和初始化,减小系统开销
out主要用于从方法内部向外返回参数,out类型的参数在方法内部被使用前必须被重新赋值。

8.大概描述下ASP。NET中服务器控件的生命周期?
9.什么是强类型系统?
10.触发器分为事前触发和事后触发,有何区别?
11.谈谈final, finally, finalize的区别。
12.在.net(C# or vb.net)中,Appplication.Exit 还是 Form.Close有什么不同?
13.C#中的委托是什么?事件是不是一种委托?
委托是参数表相同的一类方法的声明
事件是一种特殊的委托
14.值类型和引用类型的区别?
值类型被直接存储在栈中,而引用在栈中只存储地址,这个地址指向堆中的一段空间,这一段空间才是

分配给此对象的空间
15.解释下C#中的方法的重载?
见第5题
16.分析类和结构的异同?
首先,类是一种引用类型,结构是一种值类型,他们在内存中的存储方式不同(见第14题)
2、结构不支持继承,而类可以有一个直接基类,但结构和类都可以实现接口
3、结构中字段的默认访问修饰符是private,而类是public
4、结构只能有一个默认的无参构造函数,而类可以声明多个构造函数
17. &和&&的区别。
&是取地址运算符,可以得到变量的地址。&&是逻辑“与”运算符
18.描述怎样区分ExcuteNonQuery 和ExcuteScalar方法?
19.解释文件系统为什么会存在数据冗余?这种数据冗余会导致哪两类典型的问题?
内碎片和外碎片
20.什么是WEBSERVICE ?
21.接口和抽象类有什么区别?
1、抽象类中可以声明字段,而接口中不能有字段
2、继承抽象类时可以不实现抽象类中的所有方法或属性,但此时派神分类仍是一个抽象类。而实现接口时必须提供接口中所有成员的定义
3、抽象类的意义在于为一组相似的类提供一种定义,而接口的意义在于提供一种契约,使实现此接口

的所有类都具有一组相同的方法。
22.描述类中的构造函数和析构函数?
构造函数在类被实例化时调用,主要作用是对将要生成的对象进行初始化
析构函数在对象的声明周期即将结束时调用,主要作用是对对象中使用的资源进行处理和释放
23.解释下C#中的程序集?
程序集(assembly)是.net用于部署和配置的基本单元,它是自我描述的,它包含有程序运行所需的所有信息,它的安装也仅仅是简单的复制操作,而不需要考虑注册表、外部类库等问题。
24.try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
如果在return之前出现了异常,则会转向catch块处理异常,catch块结束后(或者没有catch块时)会执行finally中的代码。
如果没有出现异常,则在执行到return语句时调用结束,不会再执行后面的语句。
25.SQL SERVER的两种索引是何形式?索引的作用?索引的优缺点?
索引是为了提高查询效率,提高效率的代价是增加存储开销。
26.谈谈C/S和B/S的特点
C/S模式有服务器和客户端两部分,执行通信时客户端向服务器发出请求,服务器收到请求后进行响应和处理,处理结束后将结果返回给客户端,客户端再将结果进行处理后显式给用户。
B/S模式只需在服务器部署系统,客户机只要有支持的InterNet浏览器即可进行通信,此时可以把浏览器称作客户端。所有的数据处理均在服务器端完成,客户端只需提供显示和发送请求。
B/S模式部署和应用都比较方便,但是需要较快的网络连接速度,在网速越来越快的现在,B/S已成为一种发展趋势。