.net面试复习笔记

.net面试复习笔记

ID:25763100

大小:126.00 KB

页数:26页

时间:2018-11-22

.net面试复习笔记_第1页
.net面试复习笔记_第2页
.net面试复习笔记_第3页
.net面试复习笔记_第4页
.net面试复习笔记_第5页
资源描述:

《.net面试复习笔记》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、.net面试宝典复习笔记什么是CTS,CLS,CLR?答:CLR(commomLauguageRuntime)公共语言运行库CTS(commonTypeSystem)通用类型系统CLS(commonLauguageSystem)公共语言系统是CTS的一个子集。CIL(commonIntermediateLanguage)公共中间语言标准答案:CLR是CLI的实现,包含了.net运行引擎和符合CLI(公共语言基础)的类库。CTS包含在MS提交的CLI规范中,定义了一个可以在CLR上运行的类型规范。开发和运行.net程序需要的最基本的

2、环境是什么?答:需要一个文字编辑器和针对编码语言的编译器。对c#来说,为csc.exe。运行.net程序,需要安装.netframwork组件。Net支持多种编程语言开发,但所有设计必须符合CLS规范以保证编程语言之间的特性差异不会产生运行时的异常。CLR技术与COM技术的比较答:CLR和COM都定义了组件间交互的规范。COM并没有定义如何描述组件间的依赖性,并且由于其严格的物理约定,造成了很多版本升级和控制的问题。CLR运用元数据和逻辑类型定义等机制,有效地解决了COM遗留的一些问题。相对于COM模型,CLR更容易理解和学习。什

3、么是程序集和应用程序域答:程序集(Assembly)是一个由类型定义、数据文件和资源文件组成的逻辑集合。每个程序集都包含一个程序集清单,该清单通常被附加在某个头文件上,也可以设置单独一个文件来包含该清单。应用程序域是CLR中提供代码运行范围、错误隔离和安全设置隔离的逻辑单元,功能类似于操作系统的进程。一个或多个应用程序域在一个操作系统的进程中运行。应用程序域的创建和销毁所需的开销,相当于操作系统的进程较小。但和操作系统进程一样,应用程序域之间的数据共享相当困难。Net程序被编译成什么形式的代码?答:.net程序在第一次编译后,形成

4、CLR头、元数据和中间代码。在实施运行或部署时,将经过第二次编译,编译的结果是在CLR中可执行的机器代码。JIT是如何工作的?答:JIT(justintime)实时编译。JIT引擎在编译中间代码之前,会寻找方法的本机机器代码缓存并且判断其是否可用,如果可用则直接加载,如果不可用,JIT引擎会查找类型中的方法存根,找到该中间代码并且进行编译。简述程序集的加载机制。答:CLR通过System.Reflection.Asssembly.LoadFrom和System.Reflection.Assemblty.Load来主动地加载程序集。

5、前者通过位置而后者通过唯一标识强命令程序集的4个元素来标识程序集。CLR的加载机制和Load方法一致,其内在的策略是依次通过版本策略、CODEBASE位置、应用程序域和应用程序位置来查找程序集。如何配置程序集的版本策略答:CLR支持在3个级别上设定版本策略,依次是:应用程序策略、发行者策略和计算机策略。所有策略的设置都是通过修改配置文件(exe.configweb.config)来实现。3个级别的策略会依次被CLR执行,而上一个策略的执行结果将被作为下一个策略的输入。发行者策略仅仅针对放入GAC(全集程序集缓存)的程序集,并且可以

6、在应用程序策略中被指定忽略。如何生成强签名的程序答:生成强签名的程序集需要有公钥/私钥对。在得到了公钥/私钥对后,就可以控制编译器的输入参数来得到一个强签名的程序集。对于c#的编译器csc来说,可以用/keyfile参数来制定使用哪个公钥/私钥文件。如何把程序集放入GAC中答:GAC全局程序集缓存(GlobalAssemblyCache)。GAC是一个具有特定目录结构的文件夹,所有强签名的程序集都可以被放入GAC中。可以通过。Netfreamwork自带的assemblyviewer来简单地拖动一个程序集到GAC中,也可以使用工具

7、命令行来添加。总之,任何方法归根到底,都是根据GAC的规范和程序集本身的特性,在GAC目录下建立相应的子目录结构。延迟签名及其作用答:延迟签名就是把强签名程序集的私钥加密和数字签名延迟到实际发布时进行。延迟签名提高了开发测试阶段的效率,也方便了机构和项目管组管理自己的私钥。程序集的版本分哪几个部分答:程序集的版本号分为四个部分:主版本号、次版本号、内部版本号和修订号。面试真题:1,使用c++语言能否编写可以在.net框架上运行的程序?2.什么是受托管的代码?3.什么是应用程序域?它和进程有什么区别?4.做强签名的程序集与不做强签名

8、的程序集有什么不同?5.如何单独升级系统中的某一个程序集。6.公钥和私钥的概念和作用是什么?7.把程序集放入GAC中有什么好处?8.net用什么技术来解决dllhell问题。9,编译时如何制定版本?10.延迟签名有何作用?.net中所有内建类型的基

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。