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

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

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

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

Наши каналы: https://xn--r1a.website/proglibrary/9197
Download Telegram
В .NET у вас есть метод, который вызывается в высоконагруженном сервисе миллионы раз в секунду. В профилировании видно, что он активно генерирует мусор, перегружая GC. Какой из подходов будет наиболее правильным для оптимизации?

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

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

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

Библиотека задач по C#
👍231🥰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
👾582😁2🤔1
Почему приватный виртуальный метод нельзя переопределить в C#?

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

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

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

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

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

🐸Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
👾17👍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
Что из перечисленного не является частью механизма обработки исключений C#?

👾
— try
👍 — catch
🥰 — finally
⚡️ — pass

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

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

Библиотека задач по C#
👾343
Можно ли сериализовать хеш-таблицы?

Нет, вы не можете сериализовать хеш-таблицу, поскольку .NET Framework не позволяет сериализовать объект, реализующий интерфейс IDictionary.

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