Ответ
Около 5 лет коммерческого опыта с C# и .NET. Основные направления:
- Backend (ASP.NET Core, Web API, микросервисы)
- Работа с базами (Entity Framework, Dapper, MS SQL)
- Облачные решения (Azure, AWS)
Пример кода для простого Web API контроллера:
[ApiController]
[Route("api/[controller]")]
public class ProductsController : ControllerBase
{
private readonly IProductRepository _repository;
public ProductsController(IProductRepository repository)
{
_repository = repository;
}
[HttpGet]
public async Task<IActionResult> Get()
{
var products = await _repository.GetAllAsync();
return Ok(products);
}
}
Также есть опыт в оптимизации, рефакторинге и mentoring junior-разработчиков.
Ответ 18+ 🔞
Да ты посмотри, какой у нас тут профи подъехал! Около пяти лет, блядь, в коммерции с C# и .NET — это уже не сопля зелёная, это уже конкретный технарь, который знает, где у системы педаль газа, а где — тормоз.
Основные направления, говорит, у меня вот такие:
- Бэкенд — вся эта кухня на ASP.NET Core, Web API, микросервисы. То есть не просто «хеллоу ворлд» набросать, а чтобы всё это, сука, летало и не падало под нагрузкой.
- Базы данных — от высокоуровневого Entity Framework до голого, быстрого, как удар ниже пояса, Dapper’а. MS SQL, естественно, как родной.
- Облака — Azure, AWS. Чтобы приложение не на моём стареньком ноуте в чулане жило, а там, на этих фермах серверных, где кондиционеры гудут.
Вот, смотри, для примера, как я обычно простенький контроллер для API пишу. Ничего лишнего, всё по канону:
[ApiController]
[Route("api/[controller]")]
public class ProductsController : ControllerBase
{
private readonly IProductRepository _repository;
public ProductsController(IProductRepository repository)
{
_repository = repository;
}
[HttpGet]
public async Task<IActionResult> Get()
{
var products = await _repository.GetAllAsync();
return Ok(products);
}
}
Видишь? Dependency Injection, асинхронность, чистая архитектура — не какой-нибудь спагетти-код, в котором через полгода сам чёрт ногу сломит.
А ещё, помимо писанины, приходилось старые монолиты оптимизировать — там такое наследие иногда встречается, что волосы дыбом встают, ёпта. И джуниоров наставлять, чтобы они не писали кринжовый код, который потом всем поддерживать. В общем, не только своё кресло грею, но и за командой приглядываю.