← Все гайды

C# / .NET

Что спрашивают на собеседовании .NET-разработчика в 2026 году

Актуальный чеклист тем для собеседования .NET / C# / ASP.NET Core: Junior→Middle, Middle→Senior, system design и live coding. Без «выучи всё» — только то, что реально спрашивают в 2026.

Как устроено техническое интервью .NET в 2026

Собеседование .NET-разработчика редко бывает «100 вопросов по C#». Обычно это микс:

  • база языка и runtime;
  • ASP.NET Core и работа с данными;
  • архитектура и trade-offs;
  • иногда live coding или SQL;
  • на Senior — system design на 30–45 минут.

Ниже — темы, которые чаще всего всплывают на интервью в продуктовых командах и fintech (по опыту найма и mock-собесов). Это не «выучи всё подряд», а приоритеты.

Junior → Middle: что должно быть на автомате

C# и .NET

  • Value vs reference types, boxing, когда struct, когда class.
  • async/await: что такое SynchronizationContext, почему .Result и .Wait() — ловушка, deadlock на ASP.NET.
  • IDisposable, using, финализатор — когда реально нужен.
  • Generics, constraints, covariance — хотя бы на уровне «объясни коллеге».
  • LINQ: deferred execution, разница между IEnumerable и IQueryable.

Типичный вопрос: *«Что выведет этот код с async?»* — готовьтесь к подводным камням.

ASP.NET Core

  • Pipeline middleware — порядок, зачем UseRouting / UseEndpoints.
  • DI: scoped vs singleton vs transient — классика провала на Middle.
  • Minimal API vs Controllers — когда что уместно.
  • Аутентификация: JWT, cookies, где хранить секреты.

Entity Framework Core и SQL

  • Change tracking, AsNoTracking, когда raw SQL.
  • N+1 — как найти и как лечить.
  • Миграции vs ручные скрипты в prod.
  • Базовый EXPLAIN для PostgreSQL — всё чаще на Middle.

Тестирование

  • Unit vs integration: что мокать, что нет.
  • Testcontainers для PostgreSQL/RabbitMQ — плюс в резюме и на собесе.

Middle → Senior: где отсеивают

Архитектура и паттерны

  • CQRS — когда оправдан, когда overengineering.
  • Outbox, idempotency — must-have для fintech и платежей.
  • DDD-lite: aggregate, bounded context — хотя бы язык, не академия.

Performance

  • Profiling: dotTrace, BenchmarkDotNet, allocation.
  • GC: Gen0/Gen1/Gen2, LOH, когда ArrayPool.
  • Кэширование: TTL, stampede, invalidation.

Распределённые системы

  • Retries, exponential backoff, circuit breaker (Polly).
  • Eventual consistency — как объяснить PM и как жить с этим в коде.
  • Message brokers: RabbitMQ/Kafka — at-least-once, ordering.

System design (Senior)

Частые формулировки:

  • «Спроектируй rate limiter для API».
  • «Notification service на 10M пользователей».
  • «Как мигрировать монолит на .NET 8 без даунтайма?»

Ждут диаграмму, API, данные, узкие места — не «я бы сделал микросервисы».

Live coding: что реально встречается

В российских компаниях (~70% по опыту рынка) бывает live coding — не обязательно LeetCode Hard:

  • разбор строк, коллекций, словарей;
  • простой REST endpoint с валидацией;
  • SQL: JOIN, индексы, «почему запрос медленный»;
  • рефакторинг «legacy» метода на 40 строк.

Алгоритмы — средний уровень NeetCode, не олимпиада.

Как готовиться без выгорания

1. Mock с таймером 45–60 мин — ближе всего к реальности. Чеклист подготовки.

2. После каждого mock — 3 слабые темы, не «всё плохо».

3. Через 3 дня вернитесь к слабым темам — spaced repetition работает.

4. К каждой теме из списка выше — одна war story в формате STAR.

Что спрашивают редко (не тратьте недели)

  • Весь BCL наизусть.
  • Все паттерны GoF с UML.
  • WCF, WebForms (если в вакансии не указано явно).

Связанные материалы

---

*Хотите прогнать этот чеклист на mock-собеседовании с человеком, который сам нанимает .NET — оставьте заявку.*