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

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

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

Источник: Bruce Wayne

Открыть на YouTube

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

Запись технического скрининга .NET-разработчика. Кандидат, оценивающий себя как Middle, отвечает на вопросы об опыте самостоятельной работы, IEnumerable/IQueryable, yield, ref/out в асинхронных методах и уровнях логирования. Большой блок посвящён стеку и куче, сборщику мусора, using/Dispose и диагностике роста потребления памяти на примере Worker, обрабатывающего Excel-файлы; интервьюер поясняет, что в реальном случае проблема оказалась во внешней библиотеке с фактически пустым Dispose. Далее обсуждаются SQL JOIN, Redis, OpenAPI, REST, Git merge/rebase и выбор между монолитом, модульным монолитом и микросервисами. В задаче с накоплением 0,1 разбирается неточность чисел с плавающей точкой и применение decimal для денежных сумм. В финале интервьюер рассказывает о стеке и процессах неназванной компании.

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

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

  • Объясняя уровень Middle, связывайте самостоятельность с декомпозицией задач, уточнением требований и коммуникацией с командой.
  • Для ресурсов, требующих детерминированного освобождения, используйте using/Dispose; при росте потребления памяти проверяйте и поведение внешних библиотек.
  • Не полагайтесь на точное достижение порога при накоплении float/double; для денежных значений используйте decimal.
  • Различайте слоистую архитектуру приложения и декомпозицию системы на монолит, модульный монолит или микросервисы.

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