史上最全的.Net面试题和答案合集

史上最全的.Net面试题和答案合集

文章图片
在许多公司中, 都有.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(活动服务器页面)是Microsoft用于创建网页的服务器端技术。
  • 解释ASP时会编译ASP.NET。
  • 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是.Net类的System.Int32的别名。
9)名称空间和程序集之间有什么区别?
程序集是逻辑单元的物理分组, 而命名空间将类分组。一个名称空间可以跨越多个程序集。
10)解释值类型和引用类型之间的区别。
以下是值类型和引用类型之间的主要区别:
  • 值类型包含变量, 而引用类型在其内存中不直接包含值。
  • 在引用类型中, 内存分配在托管堆中, 而在值类型中内存分配在堆栈中。
  • 引用类型ex-class值type-struct, 枚举
11)会话对象和应用程序对象有什么区别?
会话对象用于维护每个用户的会话。
例如:如果用户进入应用程序, 那么他将获得一个会话ID。如果他从应用程序离开, 则将删除会话ID。如果他再次进入该应用程序, 他将获得另一个会话ID。
但是对于应用程序对象, 则为整个应用程序保留ID。
12).Net编程语言中的函数和存储过程之间有什么区别?
函数和存储过程之间的区别:
  • 函数仅返回一个值, 但是过程可以返回一个或多个值。
  • 可以在select语句中使用函数, 但不能使用过程。
  • 函数仅具有输入参数, 而过程可以具有输入和输出参数。
  • 异常可以通过过程中的try catch块来处理, 但是在功能上是不可能的。
13)在窗口验证的情况下如何检索用户名?
System.Environment.UserName
14)哈希表和数组列表有什么区别?
哈希表以值对和名称的形式存储数据, 而数组列表仅存储值。
你需要将名称传递给哈希表中的值, 而在数组中, 则需要传递索引号来访问值。
在数组中, 你只能存储类似类型的数据类型, 而在哈希表中, 你可以存储不同类型的数据类型。例如整数, 字符串等
15)不可变是什么意思?
不变是指一旦创建了事物, 就无法对其进行修改。
例如:如果要将新值赋予旧值, 则它将丢弃旧值并在内存中创建新实例以保存新值。
16)使用会话有什么好处?
使用会话的优点是:
  • 会话将用户状态和数据存储到整个应用程序。
  • 这很容易实现, 我们可以存储任何类型的对象。
  • 它可以分别存储每个用户数据。
  • 由于会话对象存储在服务器上, 因此会话对用户是安全且透明的。
17)使用会话有什么缺点?
使用会话的缺点是:
  • 由于会话数据存储在服务器内存中, 因此在用户数量众多的情况下会发生性能开销。
  • 序列化和反序列化会话数据的开销。因为在StateServer和SQLServer会话模式下, 我们需要在存储之前序列化对象。
18)你可以手动设置会话超时时间吗?
是。会话超时时间可以在web.config中手动设置。
19)解释.Net中的装箱和拆箱概念吗?
【史上最全的.Net面试题和答案合集】装箱:装箱是将值类型转换为引用类型的过程。
取消装箱:取消装箱是将引用类型转换为值类型的过程。
20)是否可以更改表上主键的索引?
编号
21)什么是HTTPhandler?
HttpHandler是一个低级请求和响应API, 用于处理传入的Http请求。 ASP.NET收到的每个传入的Http请求最终都由实现HttpHandler的类的实例处理。
22)什么是.NET Framework, 它的主要组件是什么?
.NET Framework有助于开发人员开发, 运行和部署应用程序, 例如控制台应用程序, 窗口Forms应用程序, 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中有两种类型的内存
  • 堆栈内存
  • 堆内存
34).NET Framework 4.0中添加了哪些新功能?
.NET Framework 4.0的新功能列表:
  • 改进的应用程序兼容性和部署支持
  • 动态语言运行时
  • 托管扩展框架
  • 并行编程框架
  • 改进的安全模型
  • 网络改进
  • 改进的核心ASP.NET服务
  • WPF 4的改进
  • 改进的实体框架(EF)
  • WCF和WF之间的集成
35)什么是Cookie?
Cookie是客户端上的服务器创建的少量数据。当Web服务器创建cookie时, 当将页面提供给浏览器时, 会向浏览器发送一个附加的HTTP标头。
36)Cookies的缺点是什么?
Cookies的主要缺点是:
  • Cookie只能存储字符串值。
  • Cookies取决于浏览器。
  • Cookies不安全。
  • Cookies只能存储少量数据。
37)什么是IL?
IL代表中间语言。它也被称为MSIL(Microsoft中间语言)或CIL(公共中间语言)。
所有.NET源代码都首先编译为IL。然后, IL在安装软件时或在运行时由即时(JIT)编译器转换为机器代码。
史上最全的.Net面试题和答案合集

文章图片
38)使用哪种方法在.NET中强制执行垃圾收集?
System.GC.Collect()方法用于在.Net中实施垃圾收集。
39).Net中的元组是什么?
元组是一个固定大小的集合, 可以具有相同或不同数据类型的元素。用户必须在声明时像数组一样指定元组的大小。
40)元组可以容纳多少个元素?
一个元组可以容纳1到8个元素。如果元素多于8个, 则可以将第8个元素定义为另一个元组。元组可以指定为参数或方法的返回类型。
41)数据集遵循哪种架构?
数据集遵循断开的数据体系结构。
42)你如何检查DataReader是关闭还是打开?
有一个名为” IsClosed” 的属性, 该属性用于检查DataReader是关闭还是打开。如果关闭了数据读取器, 则此属性返回true值, 否则返回false值。
43)连接池的基本要求是什么?
连接池必须满足以下两个要求:
  • 必须有多个进程来共享描述相同参数和安全设置的同一连接。
  • 连接字符串必须相同。
44)应该使用哪个适配器从Access数据库获取数据?
OleDbDataAdapter用于从Access数据库获取数据。
45)控制大多数连接池行为的参数是什么?
以下参数控制连接池的行为:
  • 连接超时
  • 最大泳池大小
  • 最小泳池面积
  • 汇集
46)你所说的AutoPostBack是什么意思?
AutoPostBack是一个属性, 用于在引发事件时自动回发。你必须将控件的AutoPostBack属性设置为True。
47)哪些属性用于绑定DataGridView控件?
DataSource属性和DataMember属性用于绑定DataGridView控件。
PHP面试问题
MySQL面试问题
Java OOP面试问题
Java字符串和异常问题
JDBC面试问题
JSP面试问题
休眠面试问题
SQL面试题
Android面试题
WCF面试问题
SQL Server面试问题
Java基础面试问题
Java多线程问题
Java Collection面试题
Servlet面试问题
春季面试问题
PL / SQL面试问题
Oracle面试问题

    推荐阅读