.net面试复习笔记.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.net面试复习笔记

.net 面试宝典复习笔记 什么是CTS,CLS,CLR? 答:CLR(commom Lauguage Runtime)公共语言运行库 CTS(common Type System)通用类型系统 CLS(common Lauguage System)公共语言系统 是CTS的一个子集。 CIL (common Intermediate Language)公共中间语言 标准答案:CLR 是CLI的实现,包含了.net运行引擎和符合CLI(公共语言基础)的类库。 CTS包含在MS提交的CLI规范中,定义了一个可以在CLR上运行的类型规范。 开发和运行.net程序需要的最基本的环境是什么? 答:需要一个文字编辑器和针对编码语言的编译器。对c#来说,为csc.exe。运行.net 程序,需要安装.net framwork组件。 Net支持多种编程语言开发,但所有设计必须符合CLS规范以保证编程语言之间的特性差异不会产生运行时的异常。 CLR技术与COM技术的比较 答:CLR和COM都定义了组件间交互的规范。COM并没有定义如何描述组件间的依赖性,并且由于其严格的物理约定,造成了很多版本升级和控制的问题。CLR运用元数据和逻辑类型定义等机制,有效地解决了COM遗留的一些问题。相对于COM模型,CLR更容易理解和学习。 什么是程序集和应用程序域 答:程序集(Assembly)是一个由类型定义、数据文件和资源文件组成的逻辑集合。每个程序集都包含一个程序集清单,该清单通常被附加在某个头文件上,也可以设置单独一个文件来包含该清单。 应用程序域是CLR中提供代码运行范围、错误隔离和安全设置隔离的逻辑单元,功能类似于操作系统的进程。一个或多个应用程序域在一个操作系统的进程中运行。应用程序域的创建和销毁所需的开销,相当于操作系统的进程较小。但和操作系统进程一样,应用程序域之间的数据共享相当困难。 Net程序被编译成什么形式的代码? 答:.net程序在第一次编译后,形成CLR头、元数据和中间代码。在实施运行或部署时,将经过第二次编译,编译的结果是在CLR中可执行的机器代码。 JIT是如何工作的? 答:JIT(just in time)实时编译。JIT引擎在编译中间代码之前,会寻找方法的本机机器代码缓存并且判断其是否可用,如果可用则直接加载,如果不可用,JIT引擎会查找类型中的方法存根,找到该中间代码并且进行编译。 简述程序集的加载机制。 答:CLR通过System.Reflection.Asssembly.LoadFrom 和 System.Reflection.Assemblty.Load来主动地加载程序集。前者通过位置而后者通过唯一标识强命令程序集的4个元素来标识程序集。CLR的加载机制和Load方法一致,其内在的策略是依次通过版本策略、CODEBASE位置、应用程序域和应用程序位置来查找程序集。 如何配置程序集的版本策略 答:CLR支持在3个级别上设定版本策略,依次是:应用程序策略、发行者策略和计算机策略。所有策略的设置都是通过修改配置文件 (exe.config web.config)来实现。3个级别的策略会依次被CLR执行,而上一个策略的执行结果将被作为下一个策略的输入。发行者策略仅仅针对放入GAC(全集程序集缓存)的程序集,并且可以在应用程序策略中被指定忽略。 如何生成强签名的程序 答:生成强签名的程序集需要有公钥/私钥对。在得到了公钥/私钥对后,就可以控制编译器的输入参数来得到一个强签名的程序集。对于c#的编译器csc 来说,可以用/keyfile 参数来制定使用哪个公钥/私钥 文件。 如何把程序集放入GAC中 答:GAC全局程序集缓存(Global Assembly Cache)。GAC是一个具有特定目录结构的文件夹,所有强签名的程序集都可以被放入GAC中。可以通过。Netfreamwork自带的assembly viewer 来简单地拖动一个程序集到GAC中,也可以使用工具命令行来添加。总之,任何方法归根到底,都是根据GAC的规范和程序集本身的特性,在GAC目录下建立相应的子目录结构。 延迟签名及其作用 答:延迟签名就是把强签名程序集的私钥加密和数字签名延迟到实际发布时进行。延迟签名提高了开发测试阶段的效率,也方便了机构和项目管组管理自己的私钥。 程序集的版本分哪几个部分 答:程序集的版本号分为四个部分:主版本号、次版本号、内部版本号和修订号。 面试真题: 1,使用c++语言能否编写可以在.net框架上运行的程序? 2.什么是受托管的代码? 3.什么是应用程序域?它和进程有什么区别? 4.做强签名的程序集与不做强签名的程序集有什么不同? 5.如何单独升级系统中的某一个程序集。 6.公钥和私钥的概念和作用是什么? 7.把程序集放入GAC

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档