Вернуться в видеотеку

Реальное собеседование на 300к на Senior .NET Backend разработчика | Проще чем ты думаешь

Запись технического интервью по .NET Backend с разбором опыта кандидата, практических задач по C# и последующим рассказом интервьюера о разработке, релизах и процессах работодателя.

Источник: underground dev

Открыть на YouTube

Таймлайн

Коротко о видео

Техническое собеседование на позицию Senior .NET Backend: кандидат разбирает свой проект из пяти микросервисов для работы с биометрией, а интервьюер уточняет архитектуру, авторизацию, Kafka, PostgreSQL, миграции, тестирование и CryptoPro. Затем следуют вопросы по паттернам, code review и устройству C# — перечислителям, исключениям, блокировкам и using. Во второй половине интервьюер описывает процессы и стек работодателя: переход от монолита на MS SQL к микросервисам с PostgreSQL, Docker и Kubernetes, Scrum, релизы, тестирование, аналитику и онбординг; точное название компании по расшифровке не подтверждается.

Затронутые темы

Что взять на заметку

  • Подготовьте связный рассказ о проекте: границы микросервисов, владельцы архитектурных решений, Docker/Kubernetes, отдельные контуры и назначение каждого сервиса.
  • Уметь объяснить межсервисную и фронтенд-авторизацию: различия JWT и API keys, а также причины, по которым решение могло быть принято командой интеграции.
  • Повторите работу с PostgreSQL и Entity Framework Core: репозитории, ручной маппинг моделей и применение миграций во время деплоя либо отдельным пайплайном.
  • Будьте готовы к вопросам о тестовой стратегии: интеграционные тесты с реальными БД и очередями, заглушки внешних систем, разделение ответственности разработчиков и тестировщиков.
  • Для code review полезно уметь находить проблемы пустой коллекции, неявного возврата минимального значения, избыточной вложенности, узкого типа int и обсуждать generic-реализацию поиска максимума.
  • Повторите базовые детали C#: value-type enumerator создаёт независимые копии для параллельных foreach; нельзя блокироваться на typeof(string); using разворачивается в try/finally с вызовом Dispose.

Рекомендуем посмотреть