ru
Feedback
Библиотека задач по C# | тесты, код, задания

Библиотека задач по C# | тесты, код, задания

Открыть в Telegram

Задачи и тесты по C# для тренировки и обучения. По рекламе: @proglib_adv Учиться у нас: https://proglib.io/w/05448a24 Для обратной связи: @proglibrary_feeedback_bot Наши каналы: https://t.me/proglibrary/9197

Больше
5 018
Подписчики
-224 часа
Нет данных7 дней
-630 день
Архив постов
В .NET Core приложении под нагрузкой профилирование показало большое количество выделений памяти при работе со строками. Какой способ наиболее правильный для уменьшения давления на GC? 👾 — Использовать оператор + для конкатенации строк, так как компилятор сам оптимизирует 👍 — Применять StringBuilder для конкатенации и Span<char>/Memory<char> для подстрок без копирования 🥰 — Переписать весь код на dynamic, чтобы уменьшить количество классов ⚡️ — Принудительно вызывать GC.Collect() после больших операций Библиотека задач по C#

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

В .NET Core приложении вы обрабатываете большое количество асинхронных запросов к внешнему API. При профилировании видно, что создаётся слишком много объектов Task, и нагрузка на GC возрастает. Какой подход поможет оптимизировать ситуацию? 👾 — Заменить все async/await на синхронные вызовы, чтобы уменьшить количество Task 👍 — Использовать ValueTask там, где результат часто доступен синхронно 🥰 — Принудительно вызывать GC.Collect() после каждой пачки запросов ⚡️ — Запускать асинхронные методы через Task.Run, чтобы вынести их в пул потоков Библиотека задач по C#

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

🤓 «Сначала выучу Python идеально, а потом пойду в ML» Звучит логично, но на практике — ловушка. Python огромный: фреймворки,
🤓 «Сначала выучу Python идеально, а потом пойду в ML» Звучит логично, но на практике — ловушка. Python огромный: фреймворки, библиотеки, нюансы синтаксиса. Учить «всё сразу» можно бесконечно. В итоге — месяцы зубрёжки, а до ML руки так и не доходят. На старте достаточно баз: типы данных, циклы, функции, работа с библиотеками. Всё остальное лучше подтягивать в процессе решения ML-задач. ⚠️ До 1 сентября курсы можно забрать по старым ценам. Это последние выходные, когда: — ML идёт за 34 000 вместо 44 000 ₽ + Python в подарок, два в одном: оплатите курс по математике и получите второй доступ в подарок, — и главное: можно купить все курсы до подорожания. 👉 ML для старта в Data Science А для будущих Data Scientist’ов у нас ещё: — Базовые модели ML и приложенияМатематика для Data ScienceAI-агенты для DS-специалистов (2-й поток скоро)

⏰ Осталось 48 часов! Обратный отсчёт пошёл: только до воскресенья 23:59 можно купить курс «AI-агенты для DS-специалистов» и н
Осталось 48 часов! Обратный отсчёт пошёл: только до воскресенья 23:59 можно купить курс «AI-агенты для DS-специалистов» и начать учиться уже с 15 сентября. ⚡️ Это ваши +3 недели форы, чтобы спокойно разобраться в самых сложных темах и прийти к первому занятию 7 октября уже подготовленным. 👉 Забрать место

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

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

📢 Какой сетап идеально подойдёт для разработки AI-агента? Голосуйте за свой вариант и пишите в комментариях, в каком режиме
📢 Какой сетап идеально подойдёт для разработки AI-агента? Голосуйте за свой вариант и пишите в комментариях, в каком режиме вы реально кодите. ❤️ — 1 👍 — 2 ⚡️ — 3 👏 — 4 🔥 — 5 🎉 — 6 😁 — 7 😍 — 8 🤩 — 9 Какой бы сетап ни был, без AI-агентов в 2025 всё равно далеко не уедешь. 👉 Научим, как строить агентов, которые кодят с тобой

В высоконагруженном .NET-приложении вы обрабатываете большие массивы данных. Профилирование показывает частые аллокации и нагрузку на GC. Какой подход наиболее правильный для оптимизации? 👾 — Использовать List<T> и очищать его методом Clear() для переиспользования 👍 — Применить ArrayPool<T>.Shared для аренды и возврата массивов 🥰 — Увеличить частоту вызова GC.Collect() вручную ⚡️ — Хранить массивы в static переменной, чтобы GC их не удалял Библиотека задач по C#

Объясните концепцию Raycasting в Unity и ее применения. Raycasting предполагает проецирование линии (луча) из точки в определенном направлении для обнаружения столкновений с объектами на игровой сцене. Общие приложения включают в себя следующее: ⚡️ Механика стрельбы; ⚡️Проверка прямой видимости; ⚡️Взаимодействие объектов; ⚡️Обнаружение поверхностей для движения персонажа. Библиотека задач по C#

❗ Так, владелец макбука. Хватит позировать в кофейне. Настоящее портфолио — это не стикеры на крышке, а проект с чистым кодом, README и рабочей демкой. Не знаешь, как такой собрать? Научим. Наш курс «ML для старта в Data Science» — это пошаговый гайд к проекту, за который не стыдно. ОСТАЛАСЬ НЕДЕЛЯ, чтобы забрать его по старой цене в 44.000 ₽. С 1 сентября — всё. 🎁 И да, при покупке курса ML до 1 сентябрякурс по Python получаешь бесплатно. 👉 Апгрейд от «вайба» до «оффера» тут

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

🏃‍♀️ Новый поток курса — собери своих AI-агентов 7 октября стартует второй поток курса «AI-агенты для DS-специалистов». За 5 недель вы научитесь собирать агентов, которые уже сейчас будут помогать бизнесу. В кружке выше Максим Шаланкин, наш преподаватель, рассказывает подробнее — включай, чтобы не пропустить. 👉 Записаться на курс

Видеосообщение00:53

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

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

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

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

Библиотека задач по C# | тесты, код, задания - Статистика и аналитика Telegram-канала @csharp_problems_lib