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

Практическое задание на мок-собеседовании Senior C#-разработчика

Кандидат проектирует систему кэширования для приложения: выбирает данные и хранилище, обсуждает инвалидацию и согласованность в микросервисной архитектуре. Ведущий разбирает его решения и подход к неопределённым требованиям.

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

Открыть на YouTube

Таймлайн

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

В практической части мок-собеседования кандидат получает задачу разработать механизм кэширования для существующего приложения. Он рассуждает о том, какие редко изменяющиеся данные стоит хранить, когда их удалять и как избежать ненужного расхода памяти. Интервьюер просит выбрать инструмент, описать инвалидацию при изменениях и учесть несколько экземпляров сервиса. Участники разбирают проблему локального файлового кэша в микросервисной среде, холодный старт и ситуацию cache stampede, когда много запросов одновременно обращаются к базе. В обратной связи ведущий отмечает хорошие примеры кандидата, но советует яснее формулировать механизм инвалидации, обсуждать ограничения раньше реализации и принимать ответственность за выбор решения.

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

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

  • Кэшировать стоит данные с частыми чтениями и редкими изменениями.
  • Локальные кэши отдельных экземпляров в распределённом приложении требуют общей стратегии инвалидации или общего хранилища, иначе сервисы могут отдавать разные версии данных.
  • Механизм инвалидации нужно описывать вместе с источником изменений и ключом кэша.
  • При холодном кэше важно предотвратить одновременную нагрузку на базу от множества запросов.
  • На собеседовании Senior-уровня ожидают, что кандидат сначала уточнит требования и обозначит компромиссы.

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

59:53
BackendMiddle

Технический скрининг .NET-разработчика

Кандидат, оценивающий себя как Middle .NET-разработчик, отвечает на вопросы о самостоятельности, C#/.NET, памяти и освобождении ресурсов, SQL, Redis, API и архитектуре. Есть кейсы о поиске причины роста потребления памяти при обработке Excel-файлов и о точности чисел с плавающей точкой.

1:35:59
BackendSenior

Собеседование Senior Backend-разработчика

Кандидат рассказывает о сервисе электронной очереди и отвечает на вопросы о rich domain models, конкурентном доступе к состоянию и чистых функциях. Во второй части он моделирует сервис заказов и оплаты с событиями, Saga и компенсациями, затем обсуждает микросервисы и тестирование.