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

Пробное Middle C# собеседование (мок-интервью)

Пробное мок-интервью по Middle C# с теоретическими вопросами, задачей на паттерн «Наблюдатель» и подробной обратной связью. Обсуждаются атрибуты, паттерны, асинхронность, Reflection, потоки, делегаты и события.

Источник: DotNet Interview Preparation

Открыть на YouTube

Таймлайн

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

Это мок-интервью по C# уровня Middle: кандидат рассказывает об опыте, отвечает на вопросы об атрибутах, паттернах, async/await, Reflection, процессах и потоках. Затем он пытается реализовать паттерн «Наблюдатель» с publisher и subscribers; во время практики возникают сложности с делегатами и событиями. Интервьюер разбирает ответы, уточняет роль атрибутов как метаданных, объясняет нюансы async/await и ConfigureAwait, а также рекомендует использовать события для Observer и соблюдать соглашения об именовании.

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

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

  • Атрибуты стоит описывать прежде всего как метаданные, хотя технически пользовательский атрибут выражается классом; пример применения — настройка сериализации XML и сопоставление имён полей.
  • Для ответа о паттернах полезно не только назвать Factory, Mediator, Observer и Facade, но и сразу привести контекст применения, например выбор реализации провайдера БД по ключу.
  • При объяснении async/await важно упомянуть, что async-метод компилируется в машину состояний, а продолжение после await может выполняться не тем же потоком.
  • ConfigureAwait связан с захватом или незахватом контекста выполнения: по объяснению интервьюера, он влияет на восстановление прежнего контекста после await.
  • Reflection даёт доступ к метаданным типа — его методам, свойствам и полям, включая возможность работать с непубличными членами.
  • В реализации Observer для publisher и subscribers предпочтительнее event: внешний код может подписываться и отписываться, но не может произвольно заменить весь список обработчиков, как при доступном делегате.
  • Для обработчиков событий стоит применять имена вида OnEvent вместо неопределённого React; это делает назначение публичного метода понятным.
  • На собеседовании не стоит самостоятельно формулировать свой опыт как профессиональную стагнацию; интервьюер отдельно обращает на это внимание.

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