Библиотека задач по C# | тесты, код, задания
5.29K subscribers
399 photos
1 video
306 links
Задачи и тесты по C# для тренировки и обучения.

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

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

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

Наши каналы: https://t.me/proglibrary/9197
Download Telegram
Можно ли запретить наследование от своего собственного класса?

Для того, чтобы запретить наследоваться от класса необходимо объявить его с модификатором sealed.


Библиотека задач по C#
Какой из следующих вариантов корректно описывает поведение async void методов в контексте обработки исключений и управления потоком выполнения?

👾 — async void методы возвращают Task, поэтому их можно await-ить и ловить исключения стандартным способом
👍 — async void следует использовать везде, где метод не возвращает значения, чтобы избежать ненужного Task
🥰 — Исключения из async void методов не могут быть перехвачены вызывающим кодом и приведут к сбою процесса, если не обработаны внутри
⚡️ — async void используется компилятором только при генерации методов Main и тестов, и не может быть определён вручную

Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰27
Каково имя родительского игрового объекта при создании игрового объекта пользовательского интерфейса в Unity?

👾 — Canvas
👍 — Game Object
🥰 — EventSystem
🥱 — Ничего из вышеперечисленного

Библиотека задач по C#
👍16👾1
Какие есть различия между GameObject и MonoBehaviour?

GameObject — это базовая единица в Unity, которая представляет собой объект в сцене. MonoBehaviour — это компонент, который может быть добавлен к GameObject для расширения его функциональности.

Этот вопрос является сложным, потому что он требует понимания основ объектов и компонентов в Unity. GameObject и MonoBehaviour — это две ключевые концепции в Unity, и важно понимать разницу между ними, чтобы создавать эффективные игры.


🐸Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
Какое утверждение корректно описывает поведение struct с полями-ссылками (ref fields) и использованием ref struct в C#?

👾 — ref struct можно хранить в куче, если он вложен в класс, но доступ к нему осуществляется только по ссылке
👍 — ref struct запрещает захват в замыканиях, хранение в полях классов и boxing, чтобы гарантировать расположение в стеке
🥰 — Обычный struct с полями-ссылками (ref T) компилятор не ограничивает, и их можно хранить в куче без последствий
🥱 — ref struct может быть полем обычного struct, если оба находятся в куче

Библиотека задач по C#
👍10
Почему для разработчика игр так важно хорошее знание школьной математики и физики?

👾 — Чтобы создавать визуально ошеломляющую графику и анимацию в игре
👍 — Чтобы эффективно организовывать и управлять большими объемами игровых данных
🥰 — Чтобы разрабатывать надежную архитектуру сервера для многопользовательских игр
⚡️ — Чтобы управлять тем, как объекты движутся, сталкиваются и взаимодействуют в игровом мире

Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
20
Что такое пул объектов в .Net?

Пул объектов — это контейнер готовых к использованию объектов. Уменьшает накладные расходы на создание нового объекта.

Библиотека задач по C#
👍3
В C# структуры используются для ___ объектов, таких как мобильные телефоны, автомобили и т. д.

👾 — Легких
👍 — Тяжелых
🥰 — Дополнительных
⚡️ — Сжатых

Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
👾36🤔2🌚2
Может ли интерфейс наследоваться от одного или нескольких интерфейсов?

👾 — Да
⚡️ — Нет

Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
👾55😢2
🚀 Главная ошибка новичка в ML — строить звездолёт вместо велосипеда

Многие сразу хотят свою Midjourney, но в итоге получают только выгорание.

Успех начинается с «велосипеда»: научитесь предсказывать цены или классифицировать отзывы. Освойте базу, а уже потом стройте «звездолёты».

Наш курс «ML для старта в Data Science» — это и есть тот самый правильный старт от простого к сложному.

👉 Начните правильно

Берёте курс «ML для старта» до конца недели — Python в подарок.

А 21 августа пройдет бесплатный вебинар с Марией Жаровой: узнаете, какие проекты качают скилл, а какие качают ваши нервы.

А какой самый сложный проект вы брались делать в самом начале? 🫢
Что из перечисленного является типом представления в MVC?

👾
— Partial view
👍 — Executable view
🥰 — Data view
⚡️ — Designer view

Библиотека задач по C#
🥰21👾6👍1
Что выведет Console.WriteLine(Math.PI);?

👾 — 3.14
👍 — 3.14159
🥰 — Error

Библиотека задач по C#
👾30👍11🥱4🤔1
😎 Вы просили — мы сделали. Самый долгожданный анонс этого лета!

Мы открываем набор на второй поток курса «AI-агенты для DS-специалистов»!

На курсе мы учим главному навыку 2025 года: не просто «болтать» с LLM, а строить из них рабочие системы с помощью Ollama, RAG, LangChain и crew.ai.

📆 Старт потока — 15 сентября.

💸 Цена 49 000 ₽ действует только в эти выходные — до 17 августа. С понедельника будет дороже.

👉 Занять место
🥱31😁1🌚1
В большом Unity-проекте вы замечаете регулярные просадки FPS при загрузке сцен и подгрузке ассетов во время игры. Какой из подходов будет наиболее правильным для минимизации этих проблем?

👾 — Использовать Resources.Load для загрузки всех объектов при старте игры, чтобы во время выполнения не было подгрузок
👍 — Перенести все ассеты в Addressables и использовать асинхронную загрузку (Addressables.LoadAssetAsync), чтобы управлять памятью и подгрузкой по мере необходимости.
🥰 —Увеличить количество потоков в настройках Unity Player, чтобы сцена загружалась быстрее
⚡️ — Отключить VSync, чтобы повысить FPS и скрыть фризы от пользователя

Библиотека задач по C#
👍9👾1
🔥 Последняя неделя, чтобы забрать курс по AI-агентам по старой цене!

Пока вы тестируете Copilot, другие уже учатся строить AI-агентов, которые реально работают на бизнес. Хватит отставать!

Наш курс — это концентрат практики по LangChain и RAG. Улучшенная версия, доработанная по отзывам первого потока.

📆 Старт — 15 сентября.

💸 Цена 49 000 ₽ — только до 24 августа.

👉 Зафиксировать цену
🥱4🌚1
В проекте на Unity у вас есть несколько систем, активно использующих события (C# events и UnityEvent). Со временем возникают проблемы: трудно отследить подписчиков, растёт количество утечек памяти и появляются неожиданные вызовы. Какой подход будет наиболее правильным для масштабного проекта?

👾 — Использовать глобальные static события, чтобы упростить доступ к ним из любого места
👍 — Перейти на паттерн Event Bus / Message Broker (например, через ScriptableObjects или отдельный сервис), централизуя регистрацию и логирование подписчиков
🥰 — Удалять все события вручную в OnDestroy каждого объекта, избегая централизованных решений
⚡️ — Использовать UnityEvent вместо C# event, так как их можно настраивать через инспектор и это уменьшит ошибки

Библиотека задач по C#
👍921
В .NET у вас есть метод, который вызывается в высоконагруженном сервисе миллионы раз в секунду. В профилировании видно, что он активно генерирует мусор, перегружая GC. Какой из подходов будет наиболее правильным для оптимизации?

👾 — Переписать метод на небезопасный код (unsafe) и работать напрямую с указателями
👍 — Использовать Span<T> и пулы объектов (ArrayPool<T>, ObjectPool<T>) для снижения количества аллокаций
🥰 — Увеличить размер heap в настройках CLR, чтобы GC срабатывал реже
⚡️ — Запустить несколько экземпляров метода параллельно, чтобы распределить нагрузку на разные потоки

Библиотека задач по C#
👍25😢2👾21😍1
У вас есть сервис на .NET, обрабатывающий большое количество параллельных запросов к базе данных. При нагрузочном тестировании вы замечаете, что количество потоков резко растёт, а производительность падает. Какой подход будет наиболее правильным для оптимизации?

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

Библиотека задач по C#
👍2521👾1
В .NET вы видите, что приложение часто вызывает сборку мусора, из-за чего падает производительность. Какой из подходов наиболее правильный для снижения давления на GC?

👾 — Хранить все объекты в глобальных переменных, чтобы их не собирал GC
👍 — Использовать пулы объектов (ArrayPool<T>, ObjectPool<T>) и Span<T>, чтобы сократить количество аллокаций
🥰 — Вручную вызывать GC.Collect() после каждой тяжёлой операции
⚡️ — Перейти на dynamic для универсальности и уменьшения числа классов

Библиотека задач по C#
👍251🥰1👾1
У вас есть метод в .NET, который синхронно выполняет долгую I/O-операцию (например, обращение к HTTP API). При большом количестве одновременных вызовов приложение начинает “подвисать”. Какой из подходов будет наиболее правильным?

👾 — Обернуть вызов в Task.Run, чтобы выполнять его в пуле потоков
👍 — Переписать метод на async/await и использовать асинхронный HTTP-клиент (HttpClient.SendAsync)
🥰 — Увеличить количество потоков в ThreadPool, чтобы больше операций выполнялось параллельно.
⚡️ — Добавить lock вокруг вызова, чтобы избежать гонок

Библиотека задач по C#
👍15🥰1