Почему для разработчика игр так важно хорошее знание школьной математики и физики?
👾 — Чтобы создавать визуально ошеломляющую графику и анимацию в игре
👍 — Чтобы эффективно организовывать и управлять большими объемами игровых данных
🥰 — Чтобы разрабатывать надежную архитектуру сервера для многопользовательских игр
⚡️ — Чтобы управлять тем, как объекты движутся, сталкиваются и взаимодействуют в игровом мире
Библиотека задач по C#
👾 — Чтобы создавать визуально ошеломляющую графику и анимацию в игре
👍 — Чтобы эффективно организовывать и управлять большими объемами игровых данных
🥰 — Чтобы разрабатывать надежную архитектуру сервера для многопользовательских игр
Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡19👾1
Какой будет вывод следующего кода C# с использованием делегатов?
👾 — Hello, Delegates!
👍 — ShowMessage
🥰 — Error
⚡️ — None of the above
Библиотека задач по C#
👾 — Hello, Delegates!
👍 — ShowMessage
🥰 — Error
⚡️ — None of the above
Библиотека задач по C#
👾40🥰1
Что происходит с продолжениями (ContinueWith/await) при вызове SetResult у TaskCompletionSource, и как избежать их исполнения «в линию» на потоке вызывающего?
👾 — Всегда выполняются в пуле потоков; ничего делать не нужно
👍 — Могут выполниться синхронно на вызывающем потоке; используйте new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously)
🥰 — Всегда возвращаются в захваченный SynchronizationContext; нужен ConfigureAwait(false)
⚡️ — Выполняются синхронно только если задача уже завершена
Библиотека задач по C#
👾 — Всегда выполняются в пуле потоков; ничего делать не нужно
👍 — Могут выполниться синхронно на вызывающем потоке; используйте new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously)
🥰 — Всегда возвращаются в захваченный SynchronizationContext; нужен ConfigureAwait(false)
Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡6👍1
Что верно об async void методах?
👾 — Эквивалентны async Task, их можно ожидать и ловить исключения в вызывающем коде
👍 — Исключения не возвращаются вызывающему; они всплывают в контекст синхронизации/UnhandledException, применять стоит только для обработчиков событий
🥰 — Компилятор запрещает async void во всех случаях
⚡️ — Их можно собирать в Task.WhenAll как обычные задачи
Библиотека задач по C#
👾 — Эквивалентны async Task, их можно ожидать и ловить исключения в вызывающем коде
👍 — Исключения не возвращаются вызывающему; они всплывают в контекст синхронизации/UnhandledException, применять стоит только для обработчиков событий
🥰 — Компилятор запрещает async void во всех случаях
⚡️ — Их можно собирать в Task.WhenAll как обычные задачи
Библиотека задач по C#
👍31🥰1
Зачем использовать IHttpClientFactory вместо создания нового HttpClient на каждый запрос?
👾 — Чтобы отключить DNS-кеш и ускорить повторы
👍 — Чтобы переиспользовать SocketsHttpHandler, избежать socket exhaustion и централизовать политики таймаутов/ретраев
🥰 — Чтобы все запросы шли через один и тот же IP
⚡️ — Чтобы сделать запросы синхронными и без аллокаций
Библиотека задач по C#
👾 — Чтобы отключить DNS-кеш и ускорить повторы
👍 — Чтобы переиспользовать SocketsHttpHandler, избежать socket exhaustion и централизовать политики таймаутов/ретраев
🥰 — Чтобы все запросы шли через один и тот же IP
⚡️ — Чтобы сделать запросы синхронными и без аллокаций
Библиотека задач по C#
👍30⚡1
Дано List<Point> где Point — struct с изменяемым X. Что сделает код?
foreach (var p in points) { p.X++; }
👾 — Увеличит X у всех элементов
👍 — Скомпилируется, но ничего в списке не изменит
🥰 — Не скомпилируется из-за запрета изменять struct в foreach
⚡️ — Изменит только первый элемент
Библиотека задач по C#
foreach (var p in points) { p.X++; }
👾 — Увеличит X у всех элементов
👍 — Скомпилируется, но ничего в списке не изменит
🥰 — Не скомпилируется из-за запрета изменять struct в foreach
⚡️ — Изменит только первый элемент
Библиотека задач по C#
👍29🥰15👾6⚡1
Можно ли объявить собственный конструктор без параметров у struct?
👾 — Да, начиная с C# 10
⚡️ — Нет
Библиотека задач по C#
👾 — Да, начиная с C# 10
⚡️ — Нет
Библиотека задач по C#
👾41😢2
Что верно про ValueTask?
👾 — Всегда быстрее Task
👍 — Можно безопасно ожидать многократно
🥰 — Ожидать можно один раз; для повторных — AsTask()
⚡️ — Экземпляры стоит кэшировать и переиспользовать
Библиотека задач по C#
👾 — Всегда быстрее Task
👍 — Можно безопасно ожидать многократно
🥰 — Ожидать можно один раз; для повторных — AsTask()
⚡️ — Экземпляры стоит кэшировать и переиспользовать
Библиотека задач по C#
🥰27👾1
👍57🥰3🌚2
В ASP.NET Core что даёт ConfigureAwait(false)?
👾 — Нужен всегда, иначе дедлок
👍 — Обычно избыточен (нет SynchronizationContext), но harmless и может чуть снизить накладные расходы
🥰 — Запрещает выполнение на thread pool
⚡️ — Переключает на UI-поток
Библиотека задач по C#
👾 — Нужен всегда, иначе дедлок
👍 — Обычно избыточен (нет SynchronizationContext), но harmless и может чуть снизить накладные расходы
🥰 — Запрещает выполнение на thread pool
⚡️ — Переключает на UI-поток
Библиотека задач по C#
Telegram
Библиотека задач по C# | тесты, код, задания
Задачи и тесты по C# для тренировки и обучения.
По рекламе: @proglib_adv
Учиться у нас: https://proglib.io/w/05448a24
Для обратной связи: @proglibrary_feeedback_bot
Наши каналы: https://news.1rj.ru/str/proglibrary/9197
По рекламе: @proglib_adv
Учиться у нас: https://proglib.io/w/05448a24
Для обратной связи: @proglibrary_feeedback_bot
Наши каналы: https://news.1rj.ru/str/proglibrary/9197
👍32⚡1👾1
Что верно про Terraform?
👾 — Не идемпотентен
👍 — plan изменяет инфраструктуру
🥰 — Состояние (state) нужно хранить удалённо и блокировать
⚡️ — Провайдеры не влияют на детерминизм
Библиотека задач по C#
👾 — Не идемпотентен
👍 — plan изменяет инфраструктуру
🥰 — Состояние (state) нужно хранить удалённо и блокировать
⚡️ — Провайдеры не влияют на детерминизм
Библиотека задач по C#
👍6🌚6⚡1🥰1😢1
В большом Unity-проекте вы замечаете регулярные просадки FPS при загрузке сцен и подгрузке ассетов во время игры. Какой из подходов будет наиболее правильным для минимизации этих проблем?
👾 — Использовать Resources.Load для загрузки всех объектов при старте игры, чтобы во время выполнения не было подгрузок
👍 — Перенести все ассеты в Addressables и использовать асинхронную загрузку (Addressables.LoadAssetAsync), чтобы управлять памятью и подгрузкой по мере необходимости.
🥰 —Увеличить количество потоков в настройках Unity Player, чтобы сцена загружалась быстрее
⚡️ — Отключить VSync, чтобы повысить FPS и скрыть фризы от пользователя
Библиотека задач по C#
👾 — Использовать Resources.Load для загрузки всех объектов при старте игры, чтобы во время выполнения не было подгрузок
👍 — Перенести все ассеты в Addressables и использовать асинхронную загрузку (Addressables.LoadAssetAsync), чтобы управлять памятью и подгрузкой по мере необходимости.
🥰 —Увеличить количество потоков в настройках Unity Player, чтобы сцена загружалась быстрее
⚡️ — Отключить VSync, чтобы повысить FPS и скрыть фризы от пользователя
Библиотека задач по C#
👍8⚡1
Может ли интерфейс наследоваться от одного или нескольких интерфейсов?
👾 — Да
⚡️ — Нет
Библиотека задач по C#
👾 — Да
Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
👾83❤3🌚2🥰1
Боксинг в .Net позволяет пользователю конвертировать
👾 — тип integer в double
👍 — тип reference в тип value
🥰 — тип value в тип reference
⚡️ — тип double в integer
🐸 Библиотека задач по C#
👾 — тип integer в double
👍 — тип reference в тип value
🥰 — тип value в тип reference
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰66👾2
Необходимо ли использование оператора return в каждой функции в C#?
👾 — Да
⚡️ — Нет
🐸 Библиотека задач по C#
👾 — Да
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡59👾5
Где возможна скрытая аллокация (boxing) при foreach?
👾 — По List<int>
👍 — По IEnumerable<int> поверх List<int>
🥰 — По массиву int[]
⚡️ — В обычном for
🐸 Библиотека задач по C#
👾 — По List<int>
👍 — По IEnumerable<int> поверх List<int>
🥰 — По массиву int[]
Please open Telegram to view this post
VIEW IN TELEGRAM
👍34
В .NET Core приложении вы заметили частые паузы из-за работы GC. Профилирование показывает большое количество короткоживущих объектов, создаваемых внутри горячих методов. Какой подход наиболее правильный для оптимизации?
👾 — Увеличить размер heap в настройках CLR
👍 — Снизить количество аллокаций, используя Span<T>, пулы объектов (ArrayPool<T>, ObjectPool<T>) и минимизацию временных коллекций
🥰 — Принудительно вызывать GC.Collect() после каждого запроса
⚡️ — Перевести все классы в struct, чтобы они хранились на стеке
Библиотека задач по C#
👾 — Увеличить размер heap в настройках CLR
👍 — Снизить количество аллокаций, используя Span<T>, пулы объектов (ArrayPool<T>, ObjectPool<T>) и минимизацию временных коллекций
🥰 — Принудительно вызывать GC.Collect() после каждого запроса
⚡️ — Перевести все классы в struct, чтобы они хранились на стеке
Библиотека задач по C#
👍33👾1
За год мы провели три потока курса по ИИ-агентам, а теперь запускаем масштабное обновление!
В новом, четвёртом потоке мы учли все пожелания студентов, добавили большой блок про
В программе:
— практика с первого занятия:
— оркестрация в
— продвинутый
— контроль экономики агентов: маршрутизация и кеширование запросов;
— развёртывание локальных опенсорс-моделей с соблюдением 152-ФЗ.
В честь старта продаж действует спецпредложение: 3 курса по цене 1 (два дополнительных курса в подарок).
Доступ к материалам для предварительной подготовки откроется сразу после оплаты.
По промокоду
до 28 февраля!
👉 Присоединиться к четвёртому потоку и вывести агентов в прод
В новом, четвёртом потоке мы учли все пожелания студентов, добавили большой блок про
AgentOps и сместили фокус с базовых концепций на суровый инжиниринг. Решить алгоритмическую задачку на C легко, а вот выкатить ИИ-агента, который не сливает бюджет на токены и стабильно работает в проде — задача со звёздочкой.В программе:
— практика с первого занятия:
Jupyter-ноутбуки с автопроверкой;— оркестрация в
LangGraph: human-in-the-loop и механизм time-travel;— продвинутый
RAG для продакшена и парсинг сложных документов;— контроль экономики агентов: маршрутизация и кеширование запросов;
— развёртывание локальных опенсорс-моделей с соблюдением 152-ФЗ.
В честь старта продаж действует спецпредложение: 3 курса по цене 1 (два дополнительных курса в подарок).
Доступ к материалам для предварительной подготовки откроется сразу после оплаты.
По промокоду
Agent забирайте скидку 10 000 ₽ (89 000 ₽ вместо 99 000 ₽). Успейте занять место до 28 февраля!
👉 Присоединиться к четвёртому потоку и вывести агентов в прод
Если вы хотите добавить массив в ArrayList, то какой метод ArrayList будете использовать?
👾 — AddRange
👍 — Add
🥰 — AddArray
⚡️ — Ничего из вышеперечисленного
Библиотека задач по C#
👾 — AddRange
👍 — Add
🥰 — AddArray
⚡️ — Ничего из вышеперечисленного
Библиотека задач по C#
👾28⚡3