Пробное Middle C# собеседование (мок-интервью)
Пробное мок-интервью по Middle C# с теоретическими вопросами, задачей на паттерн «Наблюдатель» и подробной обратной связью. Обсуждаются атрибуты, паттерны, асинхронность, Reflection, потоки, делегаты и события.
DotNet Interview Preparation
Открыть на YouTube- Опубликовано на YouTube:
- Просмотры на YouTube: 17,5 тыс.
- Лайки на YouTube: 397
Таймлайн
Коротко о видео
Это мок-интервью по 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; это делает назначение публичного метода понятным.
- На собеседовании не стоит самостоятельно формулировать свой опыт как профессиональную стагнацию; интервьюер отдельно обращает на это внимание.