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

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

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

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

Наши каналы: https://t.iss.one/proglibrary/9197
Download Telegram
🤓 «Сначала выучу 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#
👍8
ПОСЛЕДНИЙ ДЕНЬ
КУРСЫ ПОДОРОЖАЮТ ЗАВТРА‼️

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

👉 Proglib Academy