Библиотека задач по C# | тесты, код, задания
Ir al canal en Telegram
Задачи и тесты по C# для тренировки и обучения. Учиться у нас: https://clc.to/3e1SCw По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot Наши каналы: https://t.me/proglibrary/9197
Mostrar más4 964
Suscriptores
+324 horas
-47 días
-2930 días
Archivo de publicaciones
✍🏻 Какие из следующих утверждений о сценах верны?
1. Сцены относятся к объектам, которые содержат определенный сценарий игры.
2. Сцены содержат объекты вашей игры.
3. Каждый уникальный файл сцены представляет собой уникальный уровень.
4. В Unity есть библиотека для доступа к сценам и перемещения между ними.
👾 — 1,2
👍 — 2,4,1
🥰 — 3,4,2
⚡️ — 1,3,4,2
Библиотека задач по C#
Какие две предопределенные функции наблюдаются при создании нового скрипта в Unity?
👾 — Start и Update
👍 — Awake и Start
🥰 — Void и Main
⚡️ — Ничего из вышеперечисленного
Библиотека задач по C#
🏃♀️ Мы собрали бесплатный мега-гайд по ии-агентам 👇
В первой части постов навалили жесткой базы, чтобы вправить мозги на место. Во второй дали конкретные инструменты, фреймворки и пошаговые инструкции, что нужно кодить прямо сейчас.
Часть 1. Введение, юзкейсы и реальность
Разбираемся с терминами, снимаем розовые очки и смотрим, где ИИ реально приносит бабки, а где только жжет нервы:
1. «Так что вообще считается AI-агентом?»
2. «Где тут бот, а где уже AI-агент?»
3. «Не надо пихать AI-агента в каждую задачу»
4. «Что уже можно спокойно делать через AI-агентов?»
5. «А что через AI-агентов пока лучше не трогать?»
Часть 2. Изнанка, ошибки и архитектура
Как всё это устроено под капотом, чтобы не слить бюджет и не наломать дров на старте:
6. «Можно ли просто сесть вечером и собрать себе AI-агента?»
7. «С чего вообще начать, если хочется попробовать AI-агентов»
8. «Почему AI-агент может внезапно начать творить дичь»
9. «Где AI-агенты реально экономят время, а где только добавляют возни»
10. «Почему они жрут столько денег?»
Часть 3. Хардкорная практика (Что делать руками)
Хватит теории. Открываем ноут, запускаем Cursor и делаем нормальные, отказоустойчивые системы:
11. «Почему одного промпта мало?»
12. «Почему AI-агенту мало просто “дать доступ к данным”»
13. «Если не следить за AI-агентом, он быстро начинает жить своей жизнью»
14. «Собрать демку легко. Но как же сделать нормально»
15. «Как сделать, чтобы это не развалилось через неделю?»
👍 Сохраняйте пост в избранное, чтобы не потерять.
🤫 А завтра стартует наш курс по ии-агентам
Что бросит await Task.WhenAll(tasks) при ошибках?
👾 — Всегда AggregateException, даже при одной ошибке
⚡ — При одной ошибке — саму эту ошибку; при нескольких — AggregateException (все доступны в t.Exception.InnerExceptions)
👍 — Никогда не бросает, просто возвращает результаты успешных задач
🥰 — Отменяет остальные задачи при первом падении
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по C#
Какой встроенный компонент необходим для воспроизведения аудиофайлов в 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
⚡️ — Ничего из вышеперечисленного
Библиотека задач по 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#
