Мок-интервью по C# для Middle-разработчика
Кандидат отвечает на вопросы о памяти .NET, LINQ, async/await, синхронизации и делегатах. После технической части интервьюер разбирает пробелы в GC и асинхронном программировании.
- Опубликовано на YouTube:
- Просмотры на YouTube: 2,6 тыс.
- Лайки на YouTube: 28
Таймлайн
Коротко о видео
Кандидат проходит техническое мок-интервью по C# на Middle-уровень. Интервьюер начинает со значимых и ссылочных типов, boxing, стека, кучи и поколений Garbage Collector, затем разбирает Large Object Heap и использование ArrayPool. Следующий блок посвящён IEnumerable, IQueryable, expression trees и отложенному выполнению LINQ. Вопросы об async/await затрагивают state machine, SynchronizationContext, ConfigureAwait, блокирующие Result и Wait, дедлоки и SemaphoreSlim. В финале обсуждаются Func, Action и события. После интервью кандидат получает обратную связь: уровень ответов ближе к Junior Plus, а для цели Middle нужно укрепить понимание GC и async. Дальше идёт обсуждение подготовки и рынка, отделённое от технической части.
Затронутые темы
Что взять на заметку
- Boxing помещает значимый тип в object и может создавать лишние аллокации.
- ArrayPool требует вернуть массив после использования и не считать его содержимое очищенным.
- IQueryable строит выражение для источника данных, а многократная материализация может выполнить лишние запросы.
- Result и Wait в асинхронном UI-коде могут привести к дедлоку.
- await нельзя использовать внутри lock, для асинхронного ограничения доступа подходит SemaphoreSlim.