引用:https://www.cnblogs.com/zh7791/p/13705434.html

 

1.什么是 COM?

COM 代表组件对象模型。
COM 是微软技术之一。使用这项技术,我们可以开发窗口应用程序以及Web应用程序。
在较早的 COM 中,VB 是用于实现 windows 应用程序的编程语言,ASP 用于实现 Web 应用程序。

2.COM有什么缺点?

COM 的主要缺点是

  • 不完整的面向对象的编程意味着它不支持 OOP 的所有功能。
  • 依赖于平台意味着 COM 应用程序只能在 Windows 操作系统上运行。

3.NET 代表什么?

NET 代表网络启用技术。
在 .NET 点 (.) 中是指面向对象,NET 是指互联网。
因此,完整的 .NET 意味着通过面向对象,我们可以实现互联网应用程序。

4.什么是框架?.NET 框架提供什么?

框架是软件。或者我们可以说,框架是许多小型技术的集合,集成在一起,以开发可在任何地方执行的应用程序。

.NET 框架提供两种功能,例如:

  • BCL(基本类库)
    BCL基类库由 Microsoft 设计。没有 BCL,我们无法在 .NET 中编写任何代码,因此 BCL 也称为 .NET 程序构建基块。
    当我们将 .NET 框架安装到计算机中时,这些框架将安装到计算机中。
    BCL 的物理位置是 C\Windows\assembly
    BCL 包含预定义的类,这些类用于应用程序开发。
  • CLR(通用语言运行时)

解释 CLR 及其执行过程。

CLR 是 .NET 框架下的核心组件,该框架负责将 MSIL 代码转换为本机代码,然后执行。

在 .NET 中,代码编译两次。

在第一步编译源代码由相应的语言编译器编译,中间代码生成称为 MSIL(微软中间语言)或 IL(中间语言代码)或托管代码。
在第二步编译时,MSIL 将使用 CLR 转换为本机代码。
始终第一步编译速度慢, 第二部编译是第一位的。

什么是 Jit?

  • JIT 代表"及时"。
  • JIT 是 CLR 的组件,负责将 MSIL 代码转换为本机代码。
  • 此本机代码是操作系统直接可以理解的。
    解释不同类型的 .NET 框架。
    .net 框架有三种不同类型:
  • .NET 框架:这是仅在 Windows 操作系统上运行 .NET 应用程序所需的常规版本。
  • .NET Nono框架:如果我们想要在其他操作系统(如 Unix、Linux、MAC OS 等)上运行 .NET 应用程序,则需要这样做。
  • .NET Compact 框架:这在其他设备上(如移动电话和智能手机)运行 .NET 应用程序是必需的。
    注意:MSIL 仅依赖于 CPU,并且仅使用 .NET 框架在 Windows 操作系统上运行,因为 .NET 框架仅为 Windows 操作系统而设计。

还有一家公司称为"NOVEL",它设计了单独的框架,称为"MONO 框架"。使用此框架,我们可以在不同的操作系统上运行 MSIL,如 Linux、UNIX、Mac、BSD、OSX 等。
.NET 使用 .NET 框架依赖于平台,但使用 MONO 框架是独立的。

什么不是.NET?

  • .NET 不是操作系统。
  • 它不是应用程序或包。
  • .NET 不是数据库。
  • 它不是 ERP 应用程序。
  • .NET 不是测试工具。
  • 它不是编程语言。

究竟是什么.NET?

.NET 是一个框架工具,支持许多编程语言和许多技术。

什么是实时(JIT)编译?

MSIL 是所有 .NET 语言编译到的语言。它们使用这种中间语言后,在运行时使用来自应用程序的资源时,将发生一个名为"实时编译"的进程。

什么是元数据?

元数据以多语言形式描述代码中定义的每个类型和成员。元数据存储以下信息。

  • 程序集的说明。
  • 标识(名称、版本、区域性、公钥)。
  • 导出的类型
  • 此程序集所依赖的其他程序集。
  • 需要运行安全权限。

什么是程序集?

程序集是 .NET 框架应用程序的构建基块;它们构成了部署、版本控制、重用和激活范围和安全权限的基本单元。

托管代码和非托管代码之间有什么区别?

  • 托管代码/方法:
    + 机器说明采用 MSIL 格式,位于装配体中将由 CLR 执行,具有以下优点
    + 内存管理,以防止程序代码中的内存泄漏。
    + 线程执行
    + 代码安全验证
    + 编译。
  • 非托管代码/方法:
    + 非托管代码是针对特定平台的说明。非托管代码将存在于任何格式中。
    + COM/COM 组件
    + Win 32 Dlls/system DLLs
    由于这些代码采用本机操作系统格式,因此与 JIT 编译和执行托管代码相比,这些指令的执行速度更快。

什么是 C#?

C# 是一种面向对象的类型安全和管理语言,由.Net编译,以生成 Microsoft 中间语言。

EXE 和 DLL 有什么区别?

EXE 是一个可执行文件,可以作为应用程序本身运行,而 DLL 通常由 EXE 或其他 DLL 使用,我们不能直接运行或执行 DLL。
例如,在 .NET 编译控制台应用程序或 Windows 应用程序中,生成 EXE,而编译类库项目或ASP.NET Web 应用程序生成 DLL。在 .NET 框架中,EXE 和 DLL 都称为程序集。
DLL 可以在应用程序中重用,而 exe 文件则永远不能在应用程序中重用。
EXE 代表可执行文件,DLL 代表动态链接库

IEnumable 和 List有什么区别?

  • IEnumable 是一个接口,而List是 IEnumable 的一个特定实现。列表是一个类。
  • FOR-EACH 循环是遍历可累积集合的唯一可能方法,而可以使用多种方式迭代列表。该列表也可以由 int 索引编制索引,元素可以添加到元素中删除,并在特定索引中插入项。
  • IEnumable不允许随机访问,而List允许使用积分索引进行随机访问。
  • 一般来说,从性能的角度来看,通过IEnumable进行重复比通过列表进行重复要快得多。

为什么类是抽象数据类型?

类是抽象数据类型,因为它指定其中包含哪些数据成员和成员函数(方法),但不会提供有关如何实现这些函数的信息。这使得类抽象和类是用户定义的数据类型。所以,它是一个抽象数据类型

C# 面试问答的更多相关文章

  1. JAVA多线程和并发基础面试问答(转载)

    JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-ans ...

  2. [转] JAVA多线程和并发基础面试问答

    JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-ans ...

  3. JAVA多线程和并发基础面试问答

    转载: JAVA多线程和并发基础面试问答 多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一.在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对 ...

  4. 【多线程】JAVA多线程和并发基础面试问答(转载)

    JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-ans ...

  5. 28个MongoDB NoSQL数据库的面试问答

    MongoDB是目前最好的面向文档的免费开源NoSQL数据库.如果你正准备参加MongoDB NoSQL数据库的技术面试,你最好看看下面的MongoDB NoSQL面试问答.这些MongoDB NoS ...

  6. .NET面试问答集锦

    程序员级别鉴定书(.NET面试问答集锦) 提供避免元素命名冲突的方法 DOM适合的使用场景是什么?是否有尺寸限制? DOM是一种与浏览器,平台,语言无关的接口,使你可以访问页面其他的标准组件. DOM ...

  7. C语言面试问答5

    12个滑稽的C语言面试问答——<12个有趣的C语言问答>评析(5) 前文链接:http://www.cnblogs.com/pmer/archive/2013/09/17/3327262. ...

  8. C语言面试问答(3)

    12个滑稽的C语言面试问答——<12个有趣的C语言问答>评析(3) 前文链接:http://www.cnblogs.com/pmer/p/3322429.html 5,atexit wit ...

  9. (转)JAVA多线程和并发基础面试问答

    JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-ans ...

  10. .net面试问答

    转载自:https://www.cnblogs.com/dingfangbo/p/5768991.html .net面试问答(大汇总)   原文://http://blog.csdn.net/weny ...

随机推荐

  1. C C++结构体四种方式

    第一种语法表示 struct 结构体名称 {     数据类型 member1:     数据类型 member2;  };  #include<iostream> using names ...

  2. 【Azure 事件中心】向Event Hub发送数据异常 : partitionId[null]: Sending messages timed out

    问题描述 在使用Java 代码向 Azure Event Hub发送数据时,先后遇见了如下两种异常消息: 1)ERROR c.t.d.h.s.source.EventHubLogConsumer - ...

  3. 【Azure API 管理】APIM不能连接到 App Service (APIM cannot connect to APP service)

    问题描述 APIM 无法正确连接到App Service,返回500错误: { "statusCode": 500, "message": "Inte ...

  4. 【Azure Redis 缓存】定位Java Spring Boot 使用 Jedis 或 Lettuce 无法连接到 Redis的网络连通性步骤

    问题描述 Java Spring Boot的代码在IDE里面跑可以连上 Azure 的 Redis服务,打包成Image放在容器里面跑,就连不上azure的redis服务,错误消息为: Unable ...

  5. 关于minio Monitoring Metrics面板响应慢的问题

    问题: 服务器ip修改之后,打开minio发现面板数据现需要三十多秒才能加载,排除了服务器cpu,内存,磁盘等的问题 原因: 之前配置过amqp监听,因服务器ip变更导致minio连不上rabbitm ...

  6. 将本地文件上传到github仓库

    将本地文件上传到github空仓库 本地使用git上传文件: 第一步:在需要的文件夹(文件夹里已经放了需要提交的内容)右击git bash,输入git init 第二步:将本地文件上传到本地git仓库 ...

  7. [VueJsDev] 目录列表

    [VueJsDev] 目录列表 云服务器域名就一年,gitee上有不给发布,没办法 https://www.vuejsdev.com/ 还是迁移到博客园吧. 文章大部分是2022年9月份左右写的. 已 ...

  8. 摆脱鼠标操作 - vscode - vim - 官方说明文档 github上的,防止打不开,这里发一个

    Key - command done - command done with VS Code specific customization ️ - some variations of the com ...

  9. Apollo3-Blue-MCU芯片典型硬件电路解析

    一 芯片简介 1.简介 Apollo3 Blue Wireless SoC是一款超低功耗无线mcu芯片,它的运行功耗降至6μA/ MHz以下.该器件采用ARM Cortex M4F内核,运行频率高达9 ...

  10. Ubuntu 16.04 LAMP(PHP7.0) 环境搭建并测试

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...