fa
Feedback

فریب کلاهبرداران را نخورید! تل‌متریو این کانال‌ها را شناسایی و برچسب‌گذاری می‌کند 👉 برای مشاهده برچسب، اشتراک تهیه کنید

Библиотека задач по C# | тесты, код, задания

Библиотека задач по C# | тесты, код, задания

رفتن به کانال در Telegram

Задачи и тесты по C# для тренировки и обучения. Учиться у нас: https://clc.to/3e1SCw По рекламе: @tproger_sales_bot Для обратной связи: @proglibrary_feeedback_bot Наши каналы: https://t.me/proglibrary/9197

نمایش بیشتر
4 893
مشترکین
-724 ساعت
-187 روز
-5230 روز
آرشیو پست ها
Какой встроенный компонент необходим для воспроизведения аудиофайлов в Unity? 👾 — Audio Manager 👍 — Sound Manager 🥰 — Audio Source ⚡️ — Audio Clip Библиотека задач по C#

Какой из следующих синтаксисов поддерживает LINQ? 👾 — Синтаксис запросов 👍 — Синтаксис методов 🥰 — И тот, и тот Библиотека задач по C#

В сцене тысячи одинаковых движущихся объектов (NPC/пропсы). Рендер стал упираться в количество draw calls. Какой подход даст наибольший выигрыш без серьёзных правок контента? 👾 — Включить GPU Instancing на материале и рисовать пачками (Graphics.DrawMeshInstanced*/URP/HDRP instancing) 👍 — Включить Static Batching для всех объектов 🥰 — Полагаться на Dynamic Batching — он объединит большинство мешей автоматически ⚡️ — Увеличить shadow distance, чтобы тени реже считались 🐸Библиотека задач по C#

В высоконагруженном .NET сервисе вы часто работаете со строками: конкатенация, парсинг, подстроки. Профилирование показывает большое количество аллокаций и нагрузку на GC. Какой подход будет наиболее правильным для оптимизации? 👾 — Использовать обычный оператор + для конкатенации строк — компилятор сам оптимизирует 👍 — Применить StringBuilder для конкатенации и Span<T>/Memory<T> для работы с подстроками без копирования 🥰 — Перейти на dynamic, чтобы уменьшить количество перегрузок ⚡️ — Вызывать GC.Collect() вручную после больших операций со строками Библиотека задач по C#

В чем разница между Convert.ToString() и ToString()? 👾 — Convert.ToString() обрабатывает значения null, а ToString() — нет 👍 — ToString() выводит данные в соответствии с предоставленным форматом 🥰 — Convert.ToString() обрабатывает только значения null ⚡️ — ToString() обрабатывает значения null, а Convert.ToString() — нет 🐸Библиотека задач по C#

Атрибуты ______ могут использоваться для проверки данных в MVC ASP.NET 👾 — DataAnnotations 👍 — Fluent API 🥰 — DataModel ⚡️ — HtmlHelper Библиотека задач по C#

Что выведет код? 👾 — Caught invalid operation 👍 — Invalid operation 🥰 — Error ⚡️ — Ничего из вышеперечисленного Библиотека
Что выведет код? 👾 — Caught invalid operation 👍 — Invalid operation 🥰 — Error ⚡️ — Ничего из вышеперечисленного Библиотека задач по C#

У вас есть сервис на .NET, обрабатывающий большое количество параллельных запросов к базе данных. При нагрузочном тестировании вы замечаете, что количество потоков резко растёт, а производительность падает. Какой подход будет наиболее правильным для оптимизации? 👾 — Использовать Task.Run вокруг всех вызовов к базе, чтобы явно распараллелить операции 👍 — Применить асинхронный доступ к базе данных (async/await) с использованием I/O-bound операций 🥰 — Увеличить ThreadPool.SetMinThreads, чтобы обрабатывать больше потоков одновременно ⚡️ — Переписать сервис на синхронный код, чтобы избежать overhead от async/await Библиотека задач по C#

Что такое упаковка и распаковка? Пример: «Преобразование типа значения в ссылочный тип называется «упаковкой». Явное преобразование того же ссылочного типа, который создается путем упаковки обратно в тип значения, называется «распаковкой». Библиотека задач по C#

Почему приватный виртуальный метод нельзя переопределить в C#? Потому что приватные виртуальные методы недоступны за пределами класса. Библиотека задач по C#

Нужно задавать разные таймауты на каждый HTTP-запрос при использовании IHttpClientFactory, не ломая длительные стриминговые ответы и не влияя на глобальный HttpClient.Timeout. Какой подход корректный? 👾 — Перед каждым вызовом менять HttpClient.Timeout 👍 — Оставить HttpClient.Timeout по умолчанию и передавать в SendAsync свой CancellationToken из CancellationTokenSource с CancelAfter(...) 🥰 — Оборачивать вызов в Task.Run и ждать Wait(timeout) ⚡️ — Настроить ServicePointManager с глобальным таймаутом 🐸Библиотека задач по C#

Выберите исключения, генерируемые методом GetReponse(), определенным WebRequest 👾 — WebException 👍 — InvalidOperationException 🥰 — ProtocolViolationException ⚡️ — Все вышеперечисленное Библиотека задач по C#

В ASP.NET Core под нагрузкой растут таймауты и длина очереди ThreadPool. В коде встречается вызов внешнего HTTP так: var resp = httpClient.SendAsync(req).Result; // блокировка Какой подход правильный? 👾 — Обернуть вызов в Task.Run(...) 👍 — Увеличить ThreadPool.SetMinThreads(...) 🥰 — Сделать весь путь асинхронным: await httpClient.SendAsync(req, ct) и дальше — только async/await без .Result/.Wait() ⚡️ — Добавить ConfigureAwait(false) к текущему коду 🐸Библиотека задач по C#

Почему lock(this) — антипаттерн? 👾 — Блокирует сборщик мусора 👍 — Публичный монитор: внешний код может тоже его захватить → риск дедлоков; используйте приватный объект (private readonly object _gate = new();) 🥰 — Потому что this не является ссылочным типом ⚡️ — Потому что lock — это всегда spinlock без ожидания Библиотека задач по C#

Нужно запланировать периодическую асинхронную задачу в ASP.NET Core (каждую минуту), чтобы не было overlap, корректно обрабатывалась отмена на shutdown и не было async void ловушек. Что выбрать? 👾 — System.Timers.Timer с async void обработчиком 👍 — Бесконечный цикл с await Task.Delay(60000) без CancellationToken 🥰 — PeriodicTimer и await timer.WaitForNextTickAsync(ct); выполнение шага завершать перед следующей итерацией ⚡️ — Фоновый поток с Thread.Sleep(60000) 🐸Библиотека задач по C#

Сколько типов модификаторов доступа в C#? 👾 — 2 👍 — 3 🥰 — 4 ⚡️ — 5 Библиотека задач по C#

Какое свойство массива используется для получения общего количества элементов в C#? 👾 — Len 👍 — Length 🥰 — Elements ⚡️ — MaxLen Библиотека задач по C#

Почему Task.Result/.Wait() могут «вешать» UI/ASP.NET classic? 👾 — Потому что Task требует STA-поток 👍 — Из-за захвата SynchronizationContext: продолжение ждёт UI-поток, который блокирует синхронное ожидание 🥰 — Потому что GC останавливает мир на ожидании ⚡️ — Потому что Result всегда делает бесконечный spinwait Библиотека задач по C#

Где возможна скрытая аллокация (boxing) при foreach? 👾 — По List<int> 👍 — По IEnumerable<int> поверх List<int> 🥰 — По массиву int[] ⚡️ — В обычном for 🐸Библиотека задач по C#

Что такое Boxing и Unboxing? Упаковка представляет собой процесс неявный преобразования типа значения (хранящегося в стеке) в тип object. Когда тип значения упаковывается средой CLR, она создает оболочку значения внутри System.Object и сохраняет ее в управляемой куче. Обратная операция распаковки осуществляется явным преобразованием object в тип значения. Если упакованный объект не соответствует требуемому типу, то выбрасывается исключение InvalidCastException. 🐸Библиотека задач по C#