这里整理了常用.NET面试题,内容转载自C#与.NET程序员面试那本书,希望能帮助大家。
8.IL语言如何在.NET下运行?
MSIL是将代码转化为机器语言的一个中间过程,它是一种介于高级语言和基于Intel的汇编语言之间的伪汇编语言。当用户编译一个.NET程序时,编译器将源代码翻译成一组可以有效地转换为本机代码且独立于CPU的指令。当执行这些指令时,实时(JIT)编译器将它们转化为CPU特定的代码。由于公共语言运行库支持多种实时编译器,因此同一段MSIL代码可以被不同的编译器实时编译并运行在不同的结构上。
9.如何使用实时编译进行代码优化?
JIT的全称是实时编译,描述一种操作的词组,该操作只有在必要时才执行,如实时编译或实时对象激活。运行时需要代码时,将Microsoft中间语言转换机器码的编译。
10.什么是.NET中的私有程序集?
私有程序集是一种相对简单的一种程序集类型。私有程序集一般附带在某些软件上,并且也只能用于该软件中。当程序员在其他客户应用程序中使用这类程序集时,只需要添加引用即可进行调用。
11.什么是.NET中的共享程序集?
共享程序集提供多个应用程序域访问同一个程序集的能力,在内存中只存在该程序集的同一份副本,这种非特定域的代码共享可以极大地节省占用内存资源。
12.如何解决因共享组件而导致的应用程序之间的冲突?
.NET中的版本策略主要解决.NET Framework 中部署中共享组件和共享状态所导致的应用程序之间的冲突(或DLL冲突)。.NET中的版本策略级别包含:应用程序策略、出版商策略、管理员策略。
13..NET程序的开发和运行基本环境是什么?
开发和运行.NET程序必须安装.NET Framework 组件,当然也必须安装Visual Studio IDE(虽然理论上文本编辑器也可以编写.NET代码,但实际上程序员会安装微软公司的Visual Studio产品)。
14.解决方案下的一个项目是否就代表一个程序集
项目和程序集是两个概念,项目不代表程序集,程序集是一个由类型定义、数据文件和资源文件组成的逻辑集合。每个程序集都会包含一个程序集清单,该清单通常被附加在某个文件头上,也可以设置单位建立一个文件来包含该清单。应用程序域(AppDomain)是CLR中提供代码运行范围、错误隔离和安全隔离的逻辑单元,功能类似于操作系统的进程。
15..NET的应用程序域是什么?
应用程序域是CLR中提供代码运行范围、错误隔离和安全隔离的逻辑单元,功能类似于操作系统的进程。