个性化阅读
专注于IT技术分析

史上最全的.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中的装箱和拆箱概念吗?

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

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


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面试问题中的IL

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面试问题

赞(0) 打赏
未经允许不得转载:srcmini » 史上最全的.Net面试题和答案合集
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏