Библиотека задач по C# | тесты, код, задания
5.27K subscribers
403 photos
2 videos
324 links
Задачи и тесты по C# для тренировки и обучения.

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

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

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

Наши каналы: https://t.iss.one/proglibrary/9197
Download Telegram
В .NET приложении необходимо обрабатывать миллионы строк текста с минимальными расходами памяти и максимальной скоростью. Какой подход будет наиболее правильным?

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

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

👾 — Хранить все массивы в статическом списке, чтобы их не собирал GC
👍 — Использовать ArrayPool<byte>.Shared для повторного использования массивов
🥰 — Принудительно вызывать GC.Collect() после каждой партии запросов
⚡️ — Увеличить размер heap через настройки runtime

Библиотека задач по C#
👍17
🏃‍♀️ Новый поток курса — собери своих AI-агентов

7 октября стартует второй поток курса «AI-агенты для DS-специалистов».
За 5 недель вы научитесь собирать агентов, которые уже сейчас будут помогать бизнесу.

В кружке выше Максим Шаланкин, наш преподаватель, рассказывает подробнее — включай, чтобы не пропустить.

👉 Записаться на курс
Please open Telegram to view this post
VIEW IN TELEGRAM
В высоконагруженном .NET сервисе вы часто работаете со строками: конкатенация, парсинг, подстроки. Профилирование показывает большое количество аллокаций и нагрузку на GC. Какой подход будет наиболее правильным для оптимизации?

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

Библиотека задач по C#
👍281
This media is not supported in your browser
VIEW IN TELEGRAM
Так, владелец макбука. Хватит позировать в кофейне.

Настоящее портфолио — это не стикеры на крышке, а проект с чистым кодом, README и рабочей демкой.

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

ОСТАЛАСЬ НЕДЕЛЯ, чтобы забрать его по старой цене в 44.000 ₽. С 1 сентября — всё.

🎁 И да, при покупке курса ML до 1 сентябрякурс по Python получаешь бесплатно.

👉 Апгрейд от «вайба» до «оффера» тут
Объясните концепцию Raycasting в Unity и ее применения.

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

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


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

👾 — Использовать List<T> и очищать его методом Clear() для переиспользования
👍 — Применить ArrayPool<T>.Shared для аренды и возврата массивов
🥰 — Увеличить частоту вызова GC.Collect() вручную
⚡️ — Хранить массивы в static переменной, чтобы GC их не удалял

Библиотека задач по C#
👍14
📢 Какой сетап идеально подойдёт для разработки AI-агента?

Голосуйте за свой вариант и пишите в комментариях, в каком режиме вы реально кодите.

❤️ — 1
👍 — 2
⚡️ — 3
👏 — 4
🔥 — 5
🎉 — 6
😁 — 7
😍 — 8
🤩 — 9

Какой бы сетап ни был, без AI-агентов в 2025 всё равно далеко не уедешь.

👉 Научим, как строить агентов, которые кодят с тобой
🎉6🤩3😁2😍2🔥1
В .NET Core сервисе вы работаете с большим количеством строковых данных. Профилирование показывает избыточные аллокации при извлечении подстрок. Какой подход наиболее эффективен для оптимизации?

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

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

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

Библиотека задач по C#
🥰11
Осталось 48 часов!

Обратный отсчёт пошёл: только до воскресенья 23:59 можно купить курс «AI-агенты для DS-специалистов» и начать учиться уже с 15 сентября.

⚡️ Это ваши +3 недели форы, чтобы спокойно разобраться в самых сложных темах и прийти к первому занятию 7 октября уже подготовленным.

👉 Забрать место
🤓 «Сначала выучу Python идеально, а потом пойду в ML»

Звучит логично, но на практике — ловушка.
Python огромный: фреймворки, библиотеки, нюансы синтаксиса. Учить «всё сразу» можно бесконечно.

В итоге — месяцы зубрёжки, а до ML руки так и не доходят.

На старте достаточно баз: типы данных, циклы, функции, работа с библиотеками. Всё остальное лучше подтягивать в процессе решения ML-задач.

⚠️ До 1 сентября курсы можно забрать по старым ценам. Это последние выходные, когда:
ML идёт за 34 000 вместо 44 000 ₽ + Python в подарок,
два в одном: оплатите курс по математике и получите второй доступ в подарок,
— и главное: можно купить все курсы до подорожания.

👉 ML для старта в Data Science

А для будущих Data Scientist’ов у нас ещё:
Базовые модели ML и приложения
Математика для Data Science
AI-агенты для DS-специалистов (2-й поток скоро)
😁1
Кратко опишите жизненный цикл потока в C#.

✍🏻 Состояние Unstarted (New): новый экземпляр класса Thread инициализирован и не запущен.
✍🏻 Состояние Runnable: вызывается метод Start(), и поток готов к запуску.
✍🏻 Выполняется: поток был выбран планировщиком для запуска.
✍🏻 Не готов к запуску: иногда его называют WaitSleepJoin, поток переходит в это состояние, когда мы вызываем Wait() или Sleep(), а также когда он вызывает Join() в другом потоке.
✍🏻 Состояние Dead: поток завершил свою задачу или был вызван метод Abort(); это последний этап жизненного цикла потока.

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

👾 — Заменить все async/await на синхронные вызовы, чтобы уменьшить количество Task
👍 — Использовать ValueTask там, где результат часто доступен синхронно
🥰 — Принудительно вызывать GC.Collect() после каждой пачки запросов
⚡️ — Запускать асинхронные методы через Task.Run, чтобы вынести их в пул потоков

Библиотека задач по C#
👍9
ПОСЛЕДНИЙ ДЕНЬ
КУРСЫ ПОДОРОЖАЮТ ЗАВТРА‼️

ML за 34к вместо 44к + Python в подарок
Математика → второй доступ в подарок
— Ранний доступ к AI-агентам с 15 сентября
— И МОЖНО УСПЕТЬ КУПИТЬ ВСЁ ДО ПОДОРОЖАНИЯ

👉 Proglib Academy
В .NET Core приложении под нагрузкой профилирование показало большое количество выделений памяти при работе со строками. Какой способ наиболее правильный для уменьшения давления на GC?

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

Библиотека задач по C#
👍17
Какой из перечисленных типов НЕ является типом коллекции C#?

👾 — ArrayList
👍 — Словарь
🥰 — Список
⚡️ — Кортеж

Библиотека задач по C#
26👍1🤔1👾1