.Net面试题及答案 - [ 微软技术面试题 ]

.NET是一个用于软件开发的框架。 它就像其他软件开发框架(J2EE)一样。 它以类库和API的形式提供运行时功能和丰富的预构建功能。 .NET框架是一个用于构建,部署和运行Web服务和其他应用程序的环境。通过阅读下面.NET面试题和答案,有助于让您在面试过程中应付自如,也可作为测评或复习巩固.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用于创建Web页面的服务器端技术。在解释ASP时编译ASP.NET。ASP使用名为ADO的技术,而ASP.NET使用ADO.NET。ASP.NET完全面向对象,而ASP部分面向对象。详细答案>>

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

状态管理是一种用于在不同请求上管理对象状态的技术。 在任何Web应用程序中管理状态非常重要。 ASP.NET中有两种类型的状态管理系统。 客户端状态管理服务器端状态管理详细答案>>

6. 跟踪(Trace)和调试(Debug)有什么区别?

Debug类用于调试构建,而Trace用于调试和发布构建。

详细答案>>

7. system.stringbuildersystem.string有什么区别?

system.stringbuilder和system.string之间的主要区别是: system.stringbuilder是可变的,而system.string是不可变的。append关键字用于system.stringbuilder,但不能用于system.string。详细答案>>

8. intint32有什么区别?

在系统中,intint32之间没有区别。 IntSystem.Int32的别名,它是.Net类。

详细答案>>

9. 命名空间和部件之间有什么区别?

部件是逻辑单元的物理分组,而命名空间分组类。 命名空间可以跨多个部件集。

详细答案>>

10. 请解释值类型和引用类型之间有什么区别?

以下是值类型和引用类型之间的主要区别: 值类型包含变量,而引用类型不直接在其内存中包含值。在引用类型中,内存分配在托管堆,值类型在堆栈中分配内存。引用类型为:ex-class,而值为:type-struct,enumeration详细答案>>

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

会话对象用于维护每个用户的会话。 例如:如果用户进入应用程序,那么他将获得会话ID。 如果离开应用程序,则删除会话ID。 如果再次进入应用程序,将获得不同的会话ID。 但是在应用程序对象的情况下,为整个应用程序维护id。详细答案>>

12. .Net编程语言中函数和存储过程有什么区别?

函数和存储过程之间的区别: 函数只返回一个值,但过程可以返回一个或多个值。函数可以在select语句中使用,但不能使用过程。函数只有输入参数,而过程可以有输入和输出参数。存储过程可以通过程序中的try-catch块来处理,但这在函数中是不可能的。详细答案>>

13. 如何在窗口身份验证的情况下检索用户名?

使用以下代码:

System.Environment.UserName
详细答案>>

14. 哈希表和数组列表有什么区别?

哈希表以值对和名称的形式存储数据,而“数组”列表仅存储值。需要传递名称以从哈希表中访问值,而在数组中,需要传递索引号以访问值。 在数组中,只能存储相同(相似)类型的数据类型,而在Hash表中,可以存储不同类型的数据类型。如: int,string等详细答案>>

15. 不可变(Immutable)是什么?

不可变意味着一旦创建了一个东西,就无法修改它。

例如:如果要为旧值赋予新值,则它将丢弃旧值并在内存中创建新实例以保存新值。

详细答案>>

16. 使用会话有什么优点/好处?

使用会话的优点是: 会话将用户状态和数据存储到整个应用程序。它很容易实现,可以存储任何类型的对象。它可以分别存储每个用户数据。会话对用户来说是安全且透明的,因为会话对象存储在服务器上。详细答案>>

17. 使用会话有什么缺点?

使用会话的缺点是: 在大量用户的情况下发生性能开销,因为会话数据存储在服务器存储器中。涉及序列化和反序列化会话数据的开销。因为在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中Manifest是什么?

Manifest 用于存储程序集元数据。 它包含跟踪事物所需的所有元数据。

  • 装配版本
  • 安全身份
  • 装配范围
  • 解析对资源和类的引用
详细答案>>

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

内存映射文件用于将文件内容映射到应用程序的逻辑地址。它使您能够在同一台计算机上运行多个进程,以便彼此共享数据。 要获取内存映射文件对象,可以使用方法MemoryMappedFile.CreateFromFiles()。它表示磁盘上文件的持久内存映射文件。详细答案>>

25. 在.NET中使用哪种方法强制执行垃圾收集?

在.NET中使用System.GC.Collect()方法强制执行垃圾收集。

详细答案>>

26. dispose()finalize()有什么区别?

虽然CLR使用dispose()和finalize()这两种方法来执行.NET应用程序的运行时对象的垃圾收集,但它们之间存在差异。 finalize()方法由运行时自动调用,而dispose()方法由程序员调用。详细答案>>

27. 解释在.NET框架中代码访问安全性(CAS)?

.NET安全模型用于防止未经授权访问资源和操作,并限制代码执行特定任务。 代码访问安全性是.NET安全性的一部分。

详细答案>>

28. 什么是垃圾收集?

垃圾收集用于防止程序执行期间的内存泄漏。 由于垃圾回收器管理应用程序的内存分配和释放,因此存在一个低优先级进程名称。 它还检查未引用的变量和对象。 如果应用程序没有进一步使用ny对象,则垃圾收集器释放该对象的内存。详细答案>>

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服务WPF4的改进改进的实体框架(EF)WCF和WF之间的集成详细答案>>

35. 什么是Cookie?

Cookie是客户端上由服务器创建的少量数据。 当Web服务器创建cookie时,当向浏览器提供页面时,会向浏览器发送附加的HTTP标头。

详细答案>>

36. Cookie的缺点是什么?

cookies的主要缺点是:

  • Cookie只能存储字符串值。
  • Cookie取决于浏览器。
  • Cookie不安全。
  • Cookie只能存储少量数据。
详细答案>>

37. 什么是IL(中级语言)?

IL代表中级语言。 它也称为MSIL(Microsoft中间语言)或CIL(通用中间语言)。 所有.NET源代码首先编译为IL。 然后,IL将在安装软件的位置转换为机器代码,或者由实时(JIT)编译器在运行时转换为机器代码。 详细答案>>

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控件。

详细答案>>
注: 此试题仅作为相关知识水平测试,不能作为权威试题和答案。非商业转载注明原文链接即可;商业转载需本站授权同意。