Senior — это не «больше пунктов из списка»
Длинные чеклисты на сотни вопросов полезны как карта, но на реальном Senior-собесе вас проверяют иначе: умеете ли вести trade-off, чинить прод, проектировать кусок системы и отвечать за последствия.
Ниже — сжатая карта тем для Senior .NET (web / ASP.NET Core) на рынке РФ 2026. Не энциклопедия и не «выучить всё подряд», а ориентир: что must объяснить своими словами, что should, что could.
Разница грейдов: Middle vs Senior .NET.
Как интервьюер режет Senior
- Глубина вместо списка: не «есть три поколения GC», а когда LOH / server GC бьют latency у вас в сервисе.
- Ownership: инцидент, миграция, деградация — что делали вы, какие метрики, какой rollback.
- System design: границы сервисов, данные, идемпотентность, консистентность — см. system design .NET.
- Код под давлением: live coding + чистый async/EF без N+1.
Если отвечаете только определениями из учебника — звучите как Middle с хорошей памятью.
Must: платформа и C#
GC и память. Поколения, LOH, server vs workstation GC, что даёт IDisposable / await using, где boxing и аллокации в hot path. Не обязаны цитировать исходники CLR — обязаны связать с latency и GC pauses.
Типы и равенство. Value vs reference, Equals / == / IEquatable, когда struct вредит (копии, boxing).
Async. Полный стек без .Result: state machine, SynchronizationContext, CancellationToken, ValueTask, параллельный I/O через WhenAll. Детали: async/await.
Коллекции. Когда List, Dictionary, Concurrent*, Channel; сложность операций; почему не тащить всё в LINQ to Objects на миллионах строк.
Сложные точечные вопросы языка: 10 тем C# Middle+.
Must: ASP.NET Core и приложение
Pipeline. Middleware order, exception handling, health checks, конфигурация и options pattern.
DI. Singleton / Scoped / Transient, captive dependency, почему DbContext scoped. Разбор: DI scopes.
HTTP API. Версионирование (хотя бы позиция), валидация, проблема идемпотентности POST, auth (JWT / cookie) на уровне угроз XSS/CSRF — без воды «поставим Identity».
Наблюдаемость. Логи со correlation id, метрики (latency, error rate), tracing — что смотрите при 5xx в проде.
Must: данные
SQL. Индексы (seek vs scan), транзакции и уровни изоляции на пальцах, deadlock, когда денормализация оправдана. CTE / window — should, не must для всех вакансий.
EF Core. IQueryable vs IEnumerable, N+1, tracking vs no-tracking, миграции как процесс команды, когда raw SQL / Dapper уместнее ORM.
Кэш. L1/L2, инвалидация, stampede, согласованность с БД — хотя бы один боевой сценарий из опыта.
Should: распределёнка
Messaging. At-least-once, идемпотентные consumer'ы, outbox, чем Kafka обычно берут vs брокер очередей — на уровне задачи, не маркетинга.
Микросервисы. Синхрон vs асинхрон, saga / choreography в упрощённом виде, границы данных, auth между сервисами. Не «мы на микросервисах», а зачем резали и какая цена.
NoSQL. Когда document/key-value вместо SQL; не обязаны знать все индексы Mongo наизусть.
Could: плюс на финале
- Performance: profiling,
Span/Memory, пулы, бенчмарки. - Security deep dive: OAuth flows, secrets, supply chain.
- Cloud-конкретика (Azure/AWS), если вакансия про облако.
- Domain-Driven Design — только если реально применяли, не buzzword.
Тестирование на Senior-планке
Unit vs integration vs e2e — зачем каждый слой. Моки: что мокаете (время, шина, HTTP), чего не мокаете (свою доменную логику до абсурда). Контрактные тесты / Testcontainers — should для сильных команд.
Как готовиться без выгорания (3–4 недели)
Неделя 1. Память + async + DI — вслух, своими кейсами. Один раз mock теории.
Неделя 2. EF + SQL + один разбор медленного запроса (даже учебный).
Неделя 3. Messaging + кусок system design на бумаге (сервис заказов / платежей / нотификаций).
Неделя 4. Полный mock Продвинутый + разбор записи. Параллельно — STAR-истории про инциденты (STAR).
Не пытайтесь закрыть «800 вопросов». Закройте карту и 5–7 историй из прода.
Связанные материалы
---
*Senior mock .NET — теория + live coding / system design с фидбеком нанимающего. excalib.ru.*
Комментарии
Пока нет комментариев — будьте первым.