Меньше 2 лет опыта это Junior или Middle? | Тестовое собеседование C#
Длинное тестовое C#/.NET-интервью с разбором ответов кандидата и практических архитектурных сценариев. В финале собеседующий формулирует направления подготовки для Junior/Junior+ позиции.
Excalib
Открыть на YouTube- Опубликовано на YouTube:
- Просмотры на YouTube: 4,4 тыс.
- Лайки на YouTube: 129
Таймлайн
Коротко о видео
Это мок-интервью C#/.NET-разработчика Андрея с примерно полутора годами коммерческого опыта. Собеседующий разбирает с кандидатом диагностику деградации запросов, масштабирование БД, асинхронность, многопоточность, EF Core, SQL, ASP.NET Core, паттерны, RabbitMQ, кэширование и фоновые задачи. В конце он даёт оценку: по его мнению, кандидат пока ближе к Junior/Junior+, а для роста стоит укрепить паттерны, SQL и темы баз данных.
Затронутые темы
Что взять на заметку
- Для кейса с медленной страницей полезно сначала локализовать задержку по браузерным и серверным данным, затем отдельно проверять БД, сеть и нагрузку на приложение.
- При росте таблиц до сотен миллионов или миллиардов строк одних индексов и оптимизации SQL может быть недостаточно; в интервью разбирают горизонтальное партиционирование по периодам и отделение актуальных данных от исторических.
- Стоит уметь объяснить, что await не всегда освобождает поток: если асинхронная операция уже завершена, выполнение может продолжиться синхронно.
- Нужно подготовить Saga, transactional outbox, компенсирующие действия и различие между оркестрацией и хореографией событий в микросервисах.
- Для EF Core следует понимать IQueryable, отложенное выполнение, момент материализации и случаи, когда множество JOIN может быть выгоднее разнести на отдельные запросы.
- Для отзыва JWT в распределённой системе обсуждается хранение токена в Redis с TTL, равным оставшемуся времени жизни токена, чтобы запись удалялась автоматически.
- По итоговой рекомендации собеседующего, кандидату стоит проработать GoF-паттерны, Saga, индексы, нормализацию/денормализацию и базовые SQL-задачи.