С какими фреймворками .NET вы работали?

«С какими фреймворками .NET вы работали?» — вопрос из категории Софт-скиллы, который задают на 28% собеседований C# Разработчик. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

В своей практике я активно использовал следующие фреймворки и технологии из экосистемы .NET:

  • .NET Core / .NET 5-8: Для создания кроссплатформенных серверных приложений и сервисов.
  • ASP.NET Core: Включая Web API для построения RESTful сервисов и MVC для веб-приложений с серверным рендерингом.
  • Entity Framework Core: В качестве основного ORM для работы с базами данных, включая миграции, LINQ-запросы и конфигурацию моделей.
  • WPF: Для разработки десктопных приложений под Windows с использованием паттерна MVVM.
  • Xamarin.Forms / .NET MAUI: Для создания кроссплатформенных мобильных приложений.
  • Дополнительные библиотеки:
    • Dapper — для сценариев, требующих максимальной производительности при работе с сырыми SQL-запросами.
    • MediatR — для реализации паттернов CQRS и Mediator внутри приложения, что помогает разделить ответственность.

Пример контроллера ASP.NET Core Web API:

[ApiController]
[Route("api/[controller]")]
public class ProductsController : ControllerBase
{
    private readonly IProductService _productService;

    public ProductsController(IProductService productService)
    {
        _productService = productService;
    }

    [HttpGet]
    public async Task<IActionResult> GetAll()
    {
        var products = await _productService.GetAllAsync();
        return Ok(products);
    }
}

Также имею опыт интеграции .NET-приложений с облачными сервисами (в основном Azure) и построения микросервисной архитектуры с использованием контейнеризации (Docker).