Как устроено техническое интервью .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 — оставьте заявку.*