Библиотека собеса по C# | вопросы с собеседований
5.44K subscribers
265 photos
6 videos
1 file
492 links
Вопросы с собеседований по C# и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/4c2f1c3b

Для обратной связи: @proglibrary_feeedback_bot

Наши каналы: https://t.me/proglibrary/9197
Download Telegram
В .NET Core приложении вы видите рост задержек при обработке запросов. Профилирование показывает большое количество задач в состоянии WaitingForActivation. Что это может означать и как подойти к решению?

Это указывает на то, что async-операции не завершаются — скорее всего, используется блокирующий код внутри async-методов (например, .Result или .Wait()), либо есть deadlock в цепочке await. Решение — убрать блокировки, использовать полноценный async/await, при необходимости добавить таймауты и профилировать зависимые I/O вызовы.

Библиотека собеса по С#
Является ли код C# управляемым или неуправляемым?

Поскольку среда выполнения Common Language Runtime может преобразовывать код C# в промежуточный язык, код на C# считается управляемым кодом.

Библиотека собеса по С#
В высоконагруженном .NET-сервисе вы замечаете частые паузы из-за сборки мусора (GC). Как вы будете диагностировать и оптимизировать проблему?

Сначала профилировать память (dotMemory, PerfView, ETW), чтобы найти “тяжёлые” аллокации. Проверить Generation 2 объекты и Large Object Heap. Для оптимизации — уменьшить количество аллокаций с помощью Span<T>, Memory<T>, пулов объектов (ArrayPool<T>), использовать ValueTask, а также при необходимости настроить режим GC (Server vs Workstation, Background GC).

Библиотека собеса по С#