首页NetCore 正文

.NET面试题汇总2

时间: 2022年11月1日 浏览 33

null

1. 什么是.NET?

.NET 是一种软件开发框架。它就像其他软件开发框架(J2EE)一样。它以类库和 API 的形式提供运行时功能和一组丰富的预构建功能。此 .NET 框架是构建、部署和运行 Web 服务和其他应用程序的环境。

.NET 框架包含三个主要部分:

公共语言运行时
框架类
ASP.NET

2. .NET 目前支持多少种语言?

.NET第一次引入时,支持VB.NET、C#、COBOL、Perl等多种语言,目前支持近44种语言。
3. .NET 怎么可能支持多种语言?

.NET 语言代码被编译为 Microsoft 中间语言 (MSIL)。生成的代码称为托管代码。此托管代码在 .NET 环境中运行。所以编译后语言不是障碍,代码也可以调用或使用另一种语言的功能。
4. ASP.NET 与 ASP 不同吗?如果是,解释如何?

是的,ASP.NET 与 ASP 不同。

这些是主要区别:

ASP.NET 由 Microsoft 开发以创建动态 Web 应用程序,而 ASP(Active Server Pages)是 Microsoft 用于创建网页的服务器端技术。
ASP.NET 是在解释 ASP 的同时编译的。
ASP 使用名为 ADO 的技术,而 ASP.NET 使用 ADO.NET。
ASP.NET 是完全面向对象的,而 ASP 是部分面向对象的。

5. ASP.NET 中的状态管理是什么?

状态管理是一种用于根据不同请求管理对象状态的技术。在任何 Web 应用程序中管理状态都非常重要。

ASP.NET 中有两种类型的状态管理系统。

客户端状态管理
服务器端状态管理

6. 跟踪和调试有什么区别?

Debug 类用于调试构建,而 Trace 用于调试和发布构建。
7. system.stringbuilder 和 system.string 有什么区别?

system.stringbuilder 和 system.string 之间的主要区别是:

system.stringbuilder 是可变的,而 system.string 是不可变的。
Append 关键字在 system.stringbuilder 中使用,但不在 system.string 中使用。

8. int 和 int32 有什么区别?

int 和 int32 之间没有区别。系统中 Int 是 System.Int32 的别名,它是一个 .Net 类。
9. 命名空间和程序集有什么区别?

程序集是逻辑单元的物理分组,而命名空间对类进行分组。一个命名空间可以跨越多个程序集。
10. 解释值类型和引用类型的区别。

以下是值类型和引用类型之间的主要区别:

值类型包含变量,而引用类型不直接在其内存中包含值。
在引用类型中,内存分配在托管堆中,值类型内存分配在堆栈中。
引用类型 ex-class value type-struct, enumeration

11. 会话对象和应用程序对象有什么区别?

会话对象用于维护每个用户的会话。
例如:如果用户进入应用程序,那么他将获得一个会话 ID。如果他离开应用程序,则会话 ID 将被删除。如果他再次进入应用程序,他将获得不同的会话 ID。
但是在应用程序对象的情况下,为整个应用程序维护 id。
12. .Net 编程语言中的函数和存储过程有什么区别?

函数和存储过程的区别:

函数只返回一个值,而过程可以返回一个或多个值。
函数可以在select 语句中使用,但不能使用procedure。
函数只有输入参数,而过程可以有输入和输出参数。
异常可以通过过程中的 try catch 块处理,但在函数中是不可能的。

13. Window Authentication 如何获取用户名?

系统.环境.用户名
14. 哈希表和数组列表有什么区别?

哈希表以值对和名称的形式存储数据,而数组列表仅存储值。
您需要通过名称来访问哈希表中的值,而在数组中,您需要传递索引号来访问值。
在Array中,您只能存储相似类型的数据类型,而在Hash table中,您可以存储不同类型的数据类型。前任。整数,字符串等。
15. 不可变是什么意思?

不可变意味着一旦你创建了一个东西,你就不能修改它。
例如:如果您想为旧值赋予新值,那么它将丢弃旧值并在内存中创建新实例以保存新值。
16. 使用session有什么好处?

使用会话的优点是:

会话将用户状态和数据存储到整个应用程序中。
它很容易实现,我们可以存储任何类型的对象。
它可以单独存储每个用户数据。
会话对用户是安全和透明的,因为会话对象存储在服务器上。

17. 使用 session 有什么缺点?

使用 session 的缺点是:

在大量用户的情况下会出现性能开销,因为 session 数据存储在服务器内存中。
涉及序列化和反序列化会话数据的开销,因为在 StateServer 和 SQLServer 会话模式的情况下,我们需要在存储之前序列化对象。

18. 您可以手动设置会话结束时间吗?

是的。可以在 web.config 中手动设置会话超时时间。
19. 解释.Net 中的装箱和拆箱概念?

装箱:装箱是将值类型转换为引用类型的过程。
拆箱:拆箱是将引用类型转换为值类型的过程。

20. 是否可以更改表上主键的索引?

不可以。
21. 什么是 HTTPhandler?

HttpHandler 是一个低级请求和响应 API,用于为传入的 Http 请求提供服务。 ASP.NET 收到的每个传入 Http 请求最终都由实现 HttpHandler 的类的实例处理。
22. 什么是 .NET Framework,它的主要组件是什么?

.NET Framework 便于开发人员开发、运行和部署控制台应用程序、窗口窗体应用程序、Web 应用程序、Web 服务、窗口服务等应用程序。
它还提供了创建可用于分布式计算架构的可共享组件的环境。

.Net Framework 的主要组件:

类库
公共语言运行时 (CLR)
动态语言运行时 (DLR)
应用程序域
运行时主机
跨语言互操作性
框架安全
分析等。

23. .NET Framework 中的清单是什么?

清单用于存储程序集元数据。它包含以下内容所需的所有元数据。

程序集版本
安全标识
程序集范围
解析对资源和类的引用

24. 什么是内存映射文件?

内存映射文件用于将文件内容映射到应用程序的逻辑地址。它使您能够在同一台机器上运行多个进程以相互共享数据。要获得内存映射文件对象,您可以使用 MemoryMappedFile.CreateFromFiles() 方法。它代表来自磁盘文件的持久内存映射文件。
25. .NET 中使用哪种方法强制执行垃圾回收?

System.GC.Collect() 方法。
26. dispose() 和 finalize() 有什么区别?

尽管 CLR 使用 Dispose 和 Finalize 这两种方法来执行 .NET 应用程序的运行时对象的垃圾收集,但它们之间还是有区别的。
Finalize 方法由运行时自动调用,而 Dispose 方法由程序员调用。
27. 解释 .NET 框架中的代码访问安全 (CAS)。

.NET 安全模型用于防止对资源和操作的未授权访问,并限制代码执行特定任务。代码访问安全性是 .NET 安全性的一部分。
28. 什么是垃圾回收?

垃圾收集用于防止程序执行期间的内存泄漏。有一个低优先级进程名称,因为垃圾收集器管理应用程序的内存分配和释放。它还检查未引用的变量和对象。如果应用程序不再使用任何对象,则垃圾收集器将从该对象中释放内存。
29. 如何确定页面已回传?

有一个属性,名为“IsPostBack”属性。您可以检查它以了解该页面是否已回发。
30. .NET 编程语言中的变量和常量是什么?

变量:变量是计算机内存中的数据存储位置,它包含一个值并具有一个有意义的名称。每个变量都附加到一个数据类型,该数据类型决定了可以在变量中存储什么类型的值。
可以使用以下语法声明变量:

常量:常量也类似于变量,只是值不同。分配给常量的值无法更改。
常量必须在声明的同时初始化。
可以使用以下语法声明常量:
31. 如果要替换代码中的多个 if-else 语句,您会使用哪个语句?

在 Visual basic 中,我们可以使用 Select-Case 语句来替换多个 If-Else 语句。在 C# 中,我们应该使用 Switch-Case 语句来替换多个 If-Else 语句。
32. .Net 中有哪些不同类型的索引?

.Net 中有两种类型的索引:

聚集索引和非聚集索引

33. .Net 中有多少种内存类型?

.Net中有两种类型的内存

Stack memory
Heap Memory

34. .NET Framework 4.0 中添加了哪些新功能?

.NET Framework 4.0 的新功能列表:

改进的应用程序兼容性和部署支持
动态语言运行时
托管扩展性框架
并行编程框架
改进的安全模型
网络改进
ASP.NET 服务改进
WPF 4 中的改进
改进的实体框架 (EF)
WCF 和 WF 之间的集成

35. 什么是cookies?

cookie 是服务器在客户端创建的少量数据。当 Web 服务器创建 cookie 时,会在向浏览器提供页面时向浏览器发送一个额外的 HTTP 标头。
36. cookies 的缺点是什么?

cookies 的主要缺点是:

Cookie 只能存储字符串值。
Cookie 取决于浏览器。
Cookie 并不安全。
Cookie 只能存储少量数据。

37. 什么是 IL?

IL 代表中级语言。它也被称为 MSIL(微软中间语言)或 CIL(通用中间语言)。
所有 .NET 源代码首先被编译为 IL。然后,IL 在安装软件时或在运行时由 Just-In-Time (JIT) 编译器转换为机器代码。
在这里插入图片描述
38. .NET 中使用哪种方法强制执行垃圾回收?

System.GC.Collect() 方法用于在 .Net 中强制执行垃圾收集。
39. .Net 中的元组是什么?

元组是一个固定大小的集合,可以包含相同或不同数据类型的元素。用户必须在声明时指定元组的大小,就像数组一样。
40. 一个元组可以容纳多少个元素?

一个元组可以容纳 1 到 8 个元素。如果元素超过 8 个,则可以将第 8 个元素定义为另一个元组。元组可以指定为方法的参数或返回类型。
41. 数据集遵循哪种架构?

数据集遵循断开连接的数据架构。
42. 如何检查 DataReader 是关闭还是打开?

有一个名为“IsClosed”的属性用于检查 DataReader 是关闭还是打开。如果数据读取器关闭,则此属性返回真值,否则返回假值。
43. 连接池的基本要求是什么?

连接池必须满足以下两个要求:

必须有多个进程共享描述相同参数和安全设置的同一个连接。
连接字符串必须相同。

44. 应该使用哪个适配器从 Access 数据库中获取数据?

OleDbDataAdapter 用于从 Access 数据库中获取数据。
45. 控制大多数连接池行为的参数是什么?

以下参数控制连接池行为:

Connect Timeout
Max Pool Size
Min Pool Size
Pooling

46. AutoPostBack 是什么意思?

AutoPostBack 是一个属性,用于在引发事件时自动回发。您必须将控件的 AutoPostBack 属性设置为 True。
47. 哪些属性用于绑定 DataGridView 控件?

DataSource 属性和 DataMember 属性用于绑定 DataGridView 控件。