互联网面试——.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 控件


🌸欢迎关注我的博客:来和我一起成长吧
🥇往期精彩好文:

📢【CEAC 之《.NET程序设计工程师》】

📢【ASP.NET(C#) 面试总结面试题大全(详细)】
📢【.net面试题(精选60题)】

📢【.NET软件开发工程师面试题(下)】

你们的点赞👍 收藏⭐ 留言📝 关注✅
是我持续创作,输出优质内容的最大动力!
谢谢!

参考原文链接:https://blog.csdn.net/Cool2Feel/article/details/118000408

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: .Net WCF面试题是关于.NET WCF(Windows Communication Foundation)的面试题。WCF是一种用于构建分布式应用程序的微软技术。它提供了一种统一的编程模型,使开发人员能够使用不同的传输协议和编码方式来进行通信。WCF面试题可能涉及到WCF的基本概念、架构、服务契约、终结点等方面的内容。在回答这些问题时,可以引用.NET Framework的相关知识,如.NET Framework是微软的一个应用程序开发框架,它包含了许多不同的组件,如ASP.NET、ADO.NET、Windows Forms等。此外,还可以引用HttpHandler的概念,它是ASP.NET中用于处理传入Http请求的低级API。List<T>和Dictionary<K,V>是.NET Framework中常用的集合类型,它们有不同的特点和用途。List<T>是一个动态数组,可以按索引访问元素,而Dictionary<K,V>是一个键值对集合,可以通过键来访问值。它们的区别和优势可以根据具体的需求来进行比较和说明。 #### 引用[.reference_title] - *1* *3* [互联网面试——.Net 面试题](https://blog.csdn.net/Cool2Feel/article/details/118000408)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [.NET软件开发工程师面试题(上)](https://blog.csdn.net/m0_56366948/article/details/127974031)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值