Почему грейд важнее строки в резюме
HR смотрит годы опыта. Технический интервьюер — глубину, ownership и масштаб решений. На .NET-собесе Middle и Senior часто отвечают на часть общих вопросов, но планка фидбека и блок system design — разные.
Путаница «я 5 лет в .NET — значит Senior» — частая причина отказов на финале.
Middle .NET backend: что ожидают
Техника
- Уверенный C#: LINQ, collections, exceptions, базовый async/await.
- ASP.NET Core: middleware pipeline, DI на уровне scopes, REST, auth basics.
- EF Core: tracking, migrations, простые запросы, N+1 на уровне «вижу и исправлю».
- SQL: JOIN, индексы на уровне «понимаю explain на простом запросе».
Поведение
- STAR-истории с личным Action.
- Работа в команде по задачам из backlog, code review как участник.
На собесе Middle
- Меньше system design, больше практики и кода.
- Допустимо «не сталкивался, но предположил бы…» с рассуждением.
Senior .NET backend: что добавляется
Техника
- Async без sync-over-async, CancellationToken, performance I/O.
- DI: captive dependency, фоновые сервисы, тестируемость.
- EF + SQL под нагрузкой: транзакции, изоляция, оптимизация.
- System design: API под RPS, кэш, очереди, идемпотентность, observability.
Ownership
- «Я предложил и довёл» — архитектурное решение, менторинг junior, инцидент post-mortem.
- Trade-offs: не «микросервисы везде», а почему monolith/modular monolith для контекста.
На собесе Senior
- Отдельный блок design 30–45 мин — см. system design для .NET.
- Live coding с обоснованием сложности и edge cases.
- Жёстче к vague-ответам: «зависит» без критериев — минус.
Таблица: Middle vs Senior на одном вопросе
Вопрос: «Как обработать 10 000 webhook в минуту?»
- Middle: очередь + worker, базовая идемпотентность, «положим в Rabbit/Kafka».
- Senior: оценка RPS, at-least-once, dedup key, dead letter, мониторинг lag, backpressure, выбор между in-process channel и broker с обоснованием.
Как понять, что вы Middle+, а не Senior
Честный чеклист — если 3+ пункта про вас, до Senior ещё путь:
- System design только «читал статьи», не рисовали на доске 5+ раз.
- На собесе путаете Scoped и Singleton последствия.
- STAR без цифр в Result.
- Не вели техническое решение end-to-end (от RFC до prod).
- Async — «использую await везде», но не объясните deadlock.
План перехода Middle → Senior (8 недель)
1. Недели 1–2: async + DI scopes.
2. Недели 3–4: system design — 2 задачи в неделю вслух.
3. Недели 5–6: два mock-собеса с фидбеком.
4. Недели 7–8: реальные отклики на Senior-вакансии + разбор каждого собеса.
Связанные материалы
---
*Mock под целевой грейд Middle/Senior — excalib.ru.*