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

Собеседование C#-разработчика

Техническое собеседование на C# backend-роль в ДОМ.РФ: опыт кандидата с .NET, микросервисами, EF Core и базами данных, вопросы по асинхронности, Dictionary и сборщику мусора, а также практическое code review.

Источник: АйтишныйДомосед

Открыть на YouTube

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

Техническое интервью в ДОМ.РФ с кандидатом на C# backend-роль. После самопрезентации обсуждаются переход от монолита к микросервисам, RabbitMQ и Kafka, REST, паттерны Saga и Outbox, EF Core и оптимизация SQL-запросов. Затем интервьюер проверяет знания async/await, примитивов синхронизации, устройства Dictionary, GC, SOLID и выполнения LINQ-запросов. В практической части кандидат проводит code review C#-сервиса, а в конце уточняет стек, процессы команды и продукт «Цифровой контроль строительства».

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

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

  • Если объём данных известен заранее, задавайте начальную ёмкость Dictionary, чтобы сократить расширения и перераспределение элементов; коллизия хеша не равна дублирующемуся ключу.
  • Не удерживайте lock или Monitor через await: для асинхронной критической секции используйте подходящий примитив, например SemaphoreSlim с WaitAsync.
  • В EF Core сохраняйте фильтрацию в IQueryable до материализации: вызов ToList до Where переносит последующую обработку в память.
  • При code review не освобождайте поток до того, как его закончит использовать вызывающий код.
  • Не добавляйте generic repository поверх DbContext автоматически: дополнительная абстракция оправдана только при ясной ответственности и пользе.

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