Мок-интервью по C# для Middle и Senior Backend
Кандидат отвечает на вопросы по .NET runtime, generics, делегатам, async/await, синхронизации, ASP.NET Core, брокерам сообщений и Entity Framework. В финале интервьюер разбирает глубину ответов и темы для подготовки.
- Опубликовано на YouTube:
- Просмотры на YouTube: 2,1 тыс.
- Лайки на YouTube: 19
Таймлайн
Коротко о видео
Кандидат проходит открытое техническое мок-интервью для C# backend-разработчика. Интервью начинается с nullable value и reference types, затем подробно затрагивает поколения Garbage Collector, Large Object Heap, Span, Memory и ArrayPool. Дальше кандидат отвечает на вопросы о generic-ограничениях, ковариантности и контравариантности, делегатах, событиях и утечках памяти через подписки. Значительная часть посвящена async/await, машине состояний, ValueTask, SynchronizationContext, дедлокам и атомарным операциям. В заключительной части обсуждаются middleware ASP.NET Core, DI lifetimes, очереди сообщений, доставка at-least-once, идемпотентность консюмера и N+1 в Entity Framework. Интервьюер даёт кандидату фидбек по глубине ответов, оценивает его на Senior и называет темы для дальнейшей подготовки.
Затронутые темы
Что взять на заметку
- Nullable reference types позволяют компилятору предупреждать о возможном null ещё до запуска программы.
- Span удобен для синхронной работы с памятью без лишних аллокаций, а в асинхронных сценариях используют Memory.
- Подписка на event может удерживать объект в памяти; при долгоживущем издателе важны отписка или weak event pattern.
- await сохраняет состояние метода и продолжает его после завершения операции; это отличается от блокирования потока.
- Для at-least-once доставки потребитель должен быть идемпотентным, чтобы повтор сообщения не дублировал эффект.
- N+1 возникает при дополнительных запросах внутри цикла; запросы и загрузку связей нужно наблюдать и проектировать заранее.