Что выведет код? 👾 — Event triggered! 👍 — Handler 🥰 — Error ⚡️ — Ничего из вышеперечисленного Библиотека задач по C#
C# / .NET задачи и вопросы
🎲 Задачи и вопросы с собеседований по .Net/C# разного уровня сложности. Прислать задачу/вопрос в дар: @cyberJohnny Сотрудничество: @cyberJohnny Обсуждаем тут: @netquizcom
Графики
📊 Средний охват постов
📉 ERR % по дням
📋 Публикации по дням
📎 Типы контента
Лучшие публикации
20 из 20В C# структуры используются для ___ объектов, таких как мобильные телефоны, автомобили и т. д. 👾 — Легких 👍 — Тяжелых 🥰 — Дополнительных ⚡️ — Сжатых Библиотека задач по C#
В .NET у вас есть метод, который вызывается в высоконагруженном сервисе миллионы раз в секунду. В профилировании видно, что он активно генерирует мусор, перегружая GC. Какой из подходов будет наиболее правильным для оптимизации? 👾 — Переписать метод на небезопасный код (unsafe) и работать напрямую с указателями 👍 — Использовать Span и пулы объектов (ArrayPool, ObjectPool) для снижения количества аллокаций 🥰 — Увеличить размер heap в настройках CLR, чтобы GC срабатывал реже ⚡️ — Запустить неск...
Каковы особенности переменных, доступных только для чтения? 👾 — Инициализируются во время выполнения 👍 — Могут использоваться со статическими модификаторами 🥰 — Объявляются только на уровне класа 🥱 — Все вышеперечисленное Библиотека задач по C#
Какова амортизированная сложность m операций union/find с union by rank + path compression? 👾 — O(m log n) 👍 — O(m α(n)) 🥰 — O(mn) 🥱 — O(m) Библиотека задач по C#
Операторы присваивания не могут быть перегружены. 👍 — Правда 👾 — Ложь Библиотека задач по C#
Когда оправдан ValueTask? 👾 — Всегда лучше Task 👍 — Когда результат часто готов синхронно — ради уменьшения аллокаций; повторное ожидание недопустимо 🥰 — Можно ждать сколько угодно раз ⚡️ — Нужен для IAsyncDisposable Библиотека задач по C#
Зачем указывать RunContinuationsAsynchronously у TaskCompletionSource? 👾 — Чтобы продолжения выполнялись синхронно при SetResult 👍 — Чтобы не исполнять продолжения синхронно в потоке SetResult, а планировать их асинхронно, избегая дедлоков и глубоких стеков 🥰 — Чтобы запретить отмену задач ⚡️ — Чтобы обойти планировщик и ускорить завершение Библиотека задач по C#
Когда уместно async void? 👾 — Для «fire-and-forget» в сервисах 👍 — Только для обработчиков событий; в остальном возвращайте Task 🥰 — Чтобы скрывать исключения из вызвавшего кода ⚡️ — Когда нужно вернуть значение синхронно Библиотека задач по C#
Зачем использовать IHttpClientFactory вместо создания нового HttpClient на каждый запрос? 👾 — Чтобы отключить DNS-кеш и ускорить повторы 👍 — Чтобы переиспользовать SocketsHttpHandler, избежать socket exhaustion и централизовать политики таймаутов/ретраев 🥰 — Чтобы все запросы шли через один и тот же IP ⚡️ — Чтобы сделать запросы синхронными и без аллокаций Библиотека задач по C#