.Net面试题

Posted hofmann

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.Net面试题相关的知识,希望对你有一定的参考价值。

 

.NET Framework的优势

如果您是需要快速构建和发布某些东西的.NET开发人员,而又没有时间学习.NET Core,那么.NET Framework是您的选择。.NET Core确实有一个学习曲线。

如果要维护和升级现有的.NET应用程序,则选择.NET Framework。将现有的.NET应用程序移植到.NET Core应用程序需要一些工作。

找工作?您现在可能不会在.NET Core中找到太多工作。

.NET Framework就是它。.NET Framework的当前版本4.8应该是.NET Framework的最新版本。将来将不再计划.NET Framework的新版本。

.NET核心优势

如果您要构建新的应用程序,并且可以在.NET Core和.NET Framework之间进行选择,那么.NET Core是您的最佳选择。

微软刚刚宣布了.NET Core v 3.0,它是.NET Core的经过改进的版本。如果您想为将来学习和构建,则.NET Core是您的理想之选。

.NET 3.0现在支持WPF和Windows窗体。.NET Core 3.0还支持UWP,WPF和Windows窗体之间的交叉开发。这为开发人员提供了将UWP的现代界面引入Windows Forms和WPF的灵活性。

如果您要构建一个新的应用程序,并且您的公司已经批准了它,那么.NET Core是可行的方法。.NET Core将继续变得越来越好。

.NET Core更适合跨平台需求。Windows,Linux和macOS支持.NET Core应用程序。Windows,Linux和macOS均支持Microsoft流行的开源代码编辑器Visual Studio Code。VS Code支持代码编辑器的现代需求,包括IntelliSense和调试。大多数第三方编辑器(例如Sublime,Emacs和VI)都可以使用.NET Core。

.NET Core支持微服务架构,该架构允许跨平台服务与.NET Core一起使用,包括使用.NET Framework,Java,Ruby或其他开发的服务。

容器是当今的虚拟机。.NET Core的模块化,轻量级和灵活性使在容器中部署.NET Core应用程序变得更加容易。容器可以部署在任何平台,云,Linux和Windows上。.NET Core与Docker和Azure Kubernetes服务都可以很好地工作。

需要高性能和可扩展的系统。

性能和可伸缩性是.NET Core开发时的两个主要重点领域。根据某些基准,.NET Core和ASP.NET Core是性能最高的Web框架。

.NET Core版本可以很好地协同工作。您可以轻松地在同一台计算机上并排运行多个版本和应用程序。


================先前版本========================

.NET生态系统
技术图片

现在,让我们回顾下面的.NET生态系统架构图。

.NET生态系统架构

从上图可以看到,.NET生态系统具有三个主要的高级组件-.NET Framework,.NET Core和Xamarin。
Xamarin根本不是辩论。当您想使用C#构建移动(iosandroid和Windows Mobile)应用程序时,Xamarin是您唯一的选择。

.NET Framework
支持Windows和Web应用程序。今天,您可以使用Windows窗体,WPF和UWP在.NET Framework中构建Windows应用程序。ASP.NET MVC用于在.NET Framework中构建Web应用程序。

.NET核心
是新的开源和跨平台框??架,可为所有操作系统(包括Windows,Mac和Linux)构建应用程序。.NET Core仅支持UWP和ASP.NET Core。UWP用于构建针对Windows和移动应用程序的Windows 10。ASP.NET Core用于构建基于浏览器的Web应用程序。

那么,在.NET Core和.NET之间选择什么呢?

如果您今天必须在.NET Framework和.NET Core之间做出选择,则这里是标准。请记住,大约一年之后,您可能根本不想选择.NET Framework。
截至今日:

如果您:.NET Framework是一个更好的选择:
没有时间学习新技术。
需要一个稳定的工作环境。
制定更接近的发布时间表。
我们已经在开发现有的应用程序并扩展其功能。
已经拥有一支拥有.NET专业知识并构建可用于生产环境的软件的现有团队。
不想处理持续的升级和更改。
使用Windows窗体或WPF构建Windows客户端应用程序
如果您满足以下条件,则.NET Core是更好的选择:
希望将您的应用定位到Windows,Linux和Mac操作系统上。
不怕学习新事物。
由于.NET Core尚未完全成熟,因此不必担心破坏和修复问题。
正在学习.NET的学生。
爱开源。
下表可以帮助您做出决定。

无需UI的高性能和可扩展系统 .NET Core更快。
Docker容器支持 两者都有,但是.NET Core诞生于容器中。
严重依赖命令行 .NET Core具有更好的支持。
跨平台需求 .NET核心
使用微服务 两者都可以,但是.NET Core旨在满足当今的需求。
以用户界面为中心的Web应用程序 在.NET Core赶上之前,.NET Framework现在会更好。
使用Windows窗体和WPF的Windows客户端应用程序
.NET Framework
已经具有预先配置的环境和系统 .NET Framework更好。
稳定的版本,可立即构建和部署 .NET Framework从2001年开始出现。.NETCore只是一个婴儿。
拥有经验丰富的.NET团队 .NET Core具有学习曲线。
时间不是问题。实验是可以接受的。无需急于部署。 .NET Core是.NET的未来。

.NET的未来

微软刚刚宣布.NET 5,它将在2020年推出。.NET5将取代.NET Core,并且是.NET Framework和.NET Core的未来。.NET 5将不支持ASP.NET Web窗体,WCF或WWF。UWP在将来也不会发挥主要作用。阅读此处以了解有关.NET未来的更多信息。

.NET的未来是什么

将.NET应用程序移植到.NET Core

这是一个文档,解释了将.NET Framework应用程序移植到.NET Core的过程。
https://docs.microsoft.com/zh-cn/dotnet/articles/core/porting/index

注意:并非所有.NET Framework应用程序都可以移植到.NET Core。

参考文献:
https://blogs.msdn.microsoft.com/dotnet/2016/07/15/net-core-roadmap/
https://docs.microsoft.com/zh-cn/dotnet/articles/standard/choosing-core-framework-server

 

.NET Core到底是不是 .NET 的下一个版本?还是说只是 .NET 支持跨平台的一个版本?
  严格来说不是,他们是并行的.NET 5才是会最终替代这两者的东西
作为传统的 .NET 开发者或者说开发的程序都是在WIndows环境下面工作的,有没有必要学习 .NET Core?
  毕竟.NET Framework已经不更新了那么一些新的特性肯定会在.NET Core上面在.NET 5出现之前。
.NET Core 和 .NET Framework有什么不同?
  读上文
在开发新的程序是应该怎么选择.NET Core 和 .NET Framework?
  文中的作者是建议前者的在条件允许的情况下。

原文

 

以上是关于.Net面试题的主要内容,如果未能解决你的问题,请参考以下文章

.Net 面试题整理

.Net 面试题整理

.NET面试题解析(04)-类型方法与继承

.NET 经典面试题

面试题

面试题