跨平台后端服务
基于 ASP.NET Core 构建的 API 和服务,可在 Windows、macOS 或 Linux 上部署,而无需为每个平台重写核心逻辑。
许多企业在迪拜聘请 .NET 开发工程师时,并不知道实际上存在两个名称相似的不同平台。微软官方文档对这种区分说得很直接:现代 .NET 是一个免费、跨平台、开源的开发平台,处于持续演进之中,而 .NET Framework 是更早期、仅支持 Windows 的原始版本,目前只做维护,不再向前推进。本页专门讨论现代平台,也就是几乎所有新项目都应该选用的那一个,这个区分并不只是版本号上的差异,而是直接决定了一个项目未来能在哪些操作系统上运行,以及能获得多长时间的官方支持。
让现代 .NET 值得被有意识地选择,而不是仅凭习惯选用的原因,在于微软构建它的初衷:让同一套应用逻辑能在 Windows、macOS 和 Linux 上运行,让云、客户端和游戏负载都能共享同一底层运行时,并按照公开、可预测的节奏,在每年十一月发布一个新的主要版本。今天在这个平台上工作的 .NET 开发工程师,其工作内容与十年前的 .NET Framework 项目有本质区别,即便代码表面上看起来相似,底层的运行时假设、部署方式和支持周期其实已经完全不同,这也是为什么招聘时不能只看候选人写了多少年 .NET,还要看他们最近究竟做过什么。
.NET 开发工程师能做什么
当前平台上的具体交付成果,而不是遗留平台上的。
基于 ASP.NET Core 构建的 API 和服务,可在 Windows、macOS 或 Linux 上部署,而无需为每个平台重写核心逻辑。
打包为在容器中一致运行的服务,充分利用 .NET 的跨平台运行时,而不是绑定在单一操作系统上。
将一款较旧的、仅支持 Windows 的应用迁移到现代 .NET,迁移方案根据原应用实际依赖的内容来规划。
以在云端规模化运行为前提构建的应用,利用现代 .NET 设计之初就注重的性能和可移植性。
供员工日常使用的应用,可靠性和长期可维护性通常比视觉效果更重要,也更值得投入时间打磨。
处理大量并发请求或交易的服务,这类场景下 .NET 运行时的实际性能表现真正起作用,而不只是理论上的数字。
明确简报中具体属于哪一类,仍然是在迪拜聘请一位真正做过这类工作的 .NET 开发工程师的最清晰方式。
值得关注的技能
对现代平台的熟悉程度,而不只是笼统的多年 .NET 经验。
| 技能或工具 | 合格的表现 | 为何重要 |
|---|---|---|
| 现代 .NET,而不只是 .NET Framework | 对当前版本有近期的实际操作经验,而不只是多年停留在旧版 Framework 上 | 两者的实践差异足够大,只有 Framework 经验并不能完全迁移过来 |
| 长期支持与标准支持的区别 | 能解释哪种发布类型适合您的项目以及原因,而不是默认选择最新版本 | 选错支持track会让生产系统比预期更早失去官方支持,进而在没有安全补丁的情况下继续运行 |
| 容器化 | 能熟练在容器中构建和运行 .NET 应用,而不只是在自己电脑上本地运行 | 大多数现代 .NET 部署都依赖这一点,它也会影响应用应有的结构 |
| ASP.NET Core | 拥有真实的生产环境经验,熟悉当前的 Web 和 API 框架,而不只是教程层面的了解 | 迪拜大多数后端 .NET 工作具体运行在 ASP.NET Core 上 |
| 迁移判断力 | 能描述他们如何评估一款旧应用是否值得迁移到现代 .NET,以及具体涉及哪些工作 | 规划不当的迁移成本可能高于重新开发,一位优秀的开发工程师会在报价之前如实指出这一点,而不是等项目进行到一半才说 |
微软的 .NET 简介 直接列出了这些设计要点,候选人应该能够具体谈论这些内容,而不是笼统、过时地描述 .NET。每当您为一个生产系统招聘这样一位工程师时,直接核实这种具体程度是明智的第一步,这远比听信一份笼统的简历更可靠。
与我们合作的方式
如果一款基于现代 .NET 的产品尚未真正完成,未来数月甚至数年还会持续需要新功能,请选择专属开发工程师。如果工作有明确的边界,例如一项服务,或一次范围有限、脱离 .NET Framework 的迁移,一次性定价,并在交付时提供文档收尾,请选择限定范围的项目。如果真正的目标是在您自己的编制内长期招聘,由我们负责前期寻访和技术评估为您筛选候选人,请选择招聘支持。如果悬而未决的问题是是否要、以及如何将现有应用迁移到现代 .NET,而您希望在投入任何工程时间之前得到如实的答案,请选择咨询服务。
考察候选人
用于区分最新、动手实践的平台知识,和过时的 .NET Framework 习惯的考察方式。
含糊或过旧的答案是一个警示信号,这也是判断能否在迪拜聘请到真正紧跟最新技术的 .NET 开发工程师的最快方法之一。优秀的候选人会说出一个具体、近期的版本,以及项目为何选用它。
如果该职位涉及推进一款旧应用向前发展,请询问过去某次迁移中实际出现了什么问题,以及他们是如何处理的。
询问他们会如何将一项 .NET 服务打包并部署到容器中,而不只是问他们是否听说过这个流程。
请他们举出一个具体项目、项目的内容,以及他们在结构方面做出的一个决定及原因。
真正在实际项目中做过这一选择的候选人,能用简单明了的话解释其中的取舍,而不是照搬文档里的定义,这种差别在面试中很容易分辨出来。
无论您是自己直接主持面试,还是委托我们通过招聘支持代为完成技术评估,这些问题在每一种合作方式下都同样适用,答案的具体程度往往比候选人的从业年数更能说明问题。
认证
虽然 .NET 本身没有单独的认证,但 C# 有一项真实的资质值得了解。
微软没有推出独立于语言之外的“.NET 认证”。最接近的真实资质是与 freeCodeCamp 合作推出的 Foundational C# Certification,涵盖大多数 .NET 应用所使用的这门语言。
一项已上线的现代 .NET 服务、一次他们完成的迁移,或一次他们搭建的容器方案,能比任何证书更能说明其平台熟练程度。在为生产系统招聘之前,请先请候选人展示这些实际成果,而不只是一份证书列表。
直接解答
不是,而且区别很重要。现代 .NET 是微软持续积极开发的免费、跨平台、开源平台,而 .NET Framework 是更早期、仅支持 Windows 的版本,目前只做维护而非积极开发。本页专门讨论现代 .NET。
应选择当前受支持的版本,如果项目需要长期保持稳定,最好选择长期支持版本。微软每年十一月发布一个新的主要版本,在长期支持和标准支持之间交替。
通常可以,这也是常见的工作类型,不过具体工作量很大程度上取决于原应用依赖的内容。一位有迁移经验的 .NET 开发工程师,应该能在报价前如实评估这一点。
关系密切。C# 是绝大多数现代 .NET 应用所使用的语言,我们的 C# 开发工程师页面涵盖该语言在更广泛场景中的应用,包括 Unity 和桌面软件,而本页专注于这个平台本身。
范围相当广泛,根据微软官方文档,他们将其设计为可适配云服务、客户端应用和游戏等多个领域。大多数企业后端和跨平台应用都能很好地归入这个范围。
资料来源
书面固定价格
已收到,我们正在为您撰写报价。
工作时间内您将在 45 分钟内收到。请查收确认邮件。