Технический скрининг .NET-разработчика
Кандидат, оценивающий себя как Middle .NET-разработчик, отвечает на вопросы о самостоятельности, C#/.NET, памяти и освобождении ресурсов, SQL, Redis, API и архитектуре. Есть кейсы о поиске причины роста потребления памяти при обработке Excel-файлов и о точности чисел с плавающей точкой.
- Опубликовано на YouTube:
- Просмотры на YouTube: 207
- Лайки на YouTube: 3
Коротко о видео
Запись технического скрининга .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.
- Различайте слоистую архитектуру приложения и декомпозицию системы на монолит, модульный монолит или микросервисы.