Библиотека задач по C# | тесты, код, задания
5.19K subscribers
436 photos
4 videos
456 links
Задачи и тесты по C# для тренировки и обучения.

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

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

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

Наши каналы: https://xn--r1a.website/proglibrary/9197
Download Telegram
Что бросит await Task.WhenAll(tasks) при ошибках?

👾 — Всегда AggregateException, даже при одной ошибке
— При одной ошибке — саму эту ошибку; при нескольких — AggregateException (все доступны в t.Exception.InnerExceptions)
👍 — Никогда не бросает, просто возвращает результаты успешных задач
🥰 — Отменяет остальные задачи при первом падении

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

Библиотека задач по C#
👾22👍1
Можно ли запретить наследование от своего собственного класса?

Для того, чтобы запретить наследоваться от класса необходимо объявить его с модификатором sealed.
👍11🥱2
Является ли C# типобезопасным языком программирования?

👾 — Да
⚡️ — Нет

Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
👾732
В .NET Core сервисе вы работаете с большим количеством строковых данных. Профилирование показывает избыточные аллокации при извлечении подстрок. Какой подход наиболее эффективен для оптимизации?

👾 — Использовать string.Substring() как обычно — это самый быстрый вариант
👍 — Применить StringBuilder для хранения всех подстрок
🥰 — Использовать Span<char> или ReadOnlyMemory<char>, чтобы работать с подстроками без копирования
⚡️ — Сохранять все строки в static List<string>, чтобы их не собирал GC

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

Библиотека задач по C#
🥰18👍91
Какой из следующих методов используется для реализации наследования в C#?

👾 — class Derived : Base
👍 — class Derived inherits Base
🥰 — class Derived extends Base
⚡️ — Ничего из вышеперечисленного

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

Библиотека задач по C#
👾383🥱3
Что выведет код?

👾 — Wed
👍 — 3
🥰 — 2
⚡️ — 4

Библиотека задач по C#
👍392😁1
Чем IQueryable<T> отличается от IEnumerable<T>?

👾 — IQueryable всегда быстрее и работает только в памяти
👍 — IQueryable строит дерево выражений для провайдера и может выполняться удалённо (БД); IEnumerable перечисляет в памяти
🥰 — Они идентичны; различий нет
⚡️ — IEnumerable поддерживает async, а IQueryable — нет

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

Библиотека задач по C#
👍73❤‍🔥1🌚1
В .NET приложении необходимо обрабатывать миллионы строк текста с минимальными расходами памяти и максимальной скоростью. Какой подход будет наиболее правильным?

👾 — Использовать string конкатенацию (+) в цикле
👍 — Применить StringBuilder для конкатенации строк
🥰 — Сохранять строки в List<string> и объединять их через string.Join
⚡️ — Использовать Span<char> или Memory<char> для работы с подстроками без создания новых объектов

Библиотека задач по C#
👍3715🔥1
Решать задачи — хорошо. Понимать суть — бесценно

Можно бесконечно гонять задачи на LeetCode, но без фундаментального понимания алгоритмов и паттернов ты просто запоминаешь решения, а не учишься мыслить инженерно.

Акция 1 + 2:

Забирай три курса по цене одного. Оплачиваешь самый дорогой слот, два других получаешь бесплатно.

Идеальный стек для практики:

— Алгоритмы и структуры данных (база);
— Архитектуры и шаблоны проектирования.

Прокачать скиллы

До 31 декабря.
Помощь с выбором: @manager_proglib
У вас есть сервис на .NET, обрабатывающий большое количество параллельных запросов к базе данных. При нагрузочном тестировании вы замечаете, что количество потоков резко растёт, а производительность падает. Какой подход будет наиболее правильным для оптимизации?

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

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

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

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

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

Библиотека задач по C#
👍221🥰1
В Unity у вас есть сцена с сотнями одинаковых объектов (снаряды, враги и т.п.), и при частом их создании и уничтожении начинаются фризы из-за нагрузки на GC. Какой подход будет наиболее правильным?

👾 — Использовать Instantiate и Destroy как обычно, так как Unity оптимизирует это под капотом
👍 — Включить IL2CPP, чтобы сборщик мусора работал быстрее
🥰 — Реализовать Object Pooling (пул объектов) и переиспользовать экземпляры вместо постоянного создания/удаления
⚡️ — Уменьшить количество объектов на сцене, убрав часть из них вручную

Библиотека задач по C#
🥰151
Объясните концепцию Raycasting в Unity и ее применения.

Raycasting предполагает проецирование линии (луча) из точки в определенном направлении для обнаружения столкновений с объектами на игровой сцене. Общие приложения включают в себя следующее:

⚡️ Механика стрельбы;
⚡️Проверка прямой видимости;
⚡️Взаимодействие объектов;
⚡️Обнаружение поверхностей для движения персонажа.


Библиотека задач по C#
Какой будет вывод следующего кода C# с использованием делегатов?

👾 — Hello, Delegates!
👍 — ShowMessage
🥰 — Error
⚡️ — Ничего из вышеперечисленного

Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
👾57😁21🤔1
Почему приватный виртуальный метод нельзя переопределить в C#?

Потому что приватные виртуальные методы недоступны за пределами класса.

Библиотека задач по C#
😁2💯2🌚1
Какие из перечисленных протоколов определены средой выполнения .NET?

👾 — HTTP
👍 — HTTPS
🥰 — File
⚡️ — Все вышеперечисленное

🐸Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
32🥰2
Что такое IoC-контейнеры?

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

🐸Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
👾16👍211🥰1
WANTED: ШАРПИСТ-ЗАДАЧНИК

Разыскивается эксперт, способный превратить скучный legacy в изящную алгоритмическую задачу. Мы ищем практика, который знает, как проверить навыки кодинга на реальных примерах.

Приметы:

— мастерски владеет C# (знание Python или Java будет преимуществом);
— умеет составлять интересные тесты и практические задания;
— понимает, как работает современный .NET в реальном проде;
— хочет стать узнаваемым автором в профессиональном сообществе.

Твои бонусы:

— гонорар за разработку авторских задач;
— работа с большой базой читателей;
— развитие личного бренда вместе с Proglib Academy.

Явка с повинной здесь

P.S. Знаешь того, кто щёлкает задачи как орехи? Сдай его нам.
Как вы бы подошли к оптимизации сцены в Unity для виртуальной реальности (VR), учитывая ограничения по производительности? Обсудите как вы бы управляли ресурсами, освещением и рендерингом.

Этот вопрос тестирует понимание кандидатом специфических аспектов оптимизации в Unity для VR. Оптимизация для VR имеет особое значение из-за высоких требований к производительности и низкой задержке. Ответ должен включать стратегии по оптимизации ассетов и текстур, управлению памятью, использованию LOD (Level of Detail) систем для управления сложностью моделей, а также эффективному использованию освещения и теней. Кандидат также может обсудить использование различных профилировщиков и инструментов для мониторинга производительности, а также специфические подходы к рендерингу для VR, такие как сокращение overdraw и использование occlusion culling.

🐸Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM