提供了最常见的 .Net 面试问题和许多公司提出的答案。让我们看看顶级 Dot Net 面试问题列表。
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 编程语言中的变量和常量是什么?
变量:变量是计算机内存中的数据存储位置,它包含一个值并具有一个有意义的名称。每个变量都附加到一个数据类型,该数据类型决定了可以在变量中存储什么类型的值。
可以使用以下语法声明变量:
<data_type> <variable_name>;
常量:常量也类似于变量,只是值不同。分配给常量的值无法更改。
常量必须在声明的同时初始化。
可以使用以下语法声明常量:
const int interestRate =10;
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 控件。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/5105.html