Собеседование C#-разработчика
Техническое собеседование на C# backend-роль в ДОМ.РФ: опыт кандидата с .NET, микросервисами, EF Core и базами данных, вопросы по асинхронности, Dictionary и сборщику мусора, а также практическое code review.
АйтишныйДомосед
Открыть на YouTube- Опубликовано на YouTube:
- Просмотры на YouTube: 11,6 тыс.
- Лайки на YouTube: 211
Коротко о видео
Техническое интервью в ДОМ.РФ с кандидатом на 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 автоматически: дополнительная абстракция оправдана только при ясной ответственности и пользе.