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

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

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

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

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

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

Библиотека задач по C#
👍11
🎮 КВЕСТОВАЯ ЛИНИЯ: «Путь Data Scientist'а»

⮕ Твой стартовый набор искателя данных:
Python — твое легендарное оружие (урон по багам +∞)
Математика — твой базовый интеллект (влияет на понимание алгоритмов)
Машинное обучение — твое дерево навыков (открывает новые способности)


⚡️ АКТИВЕН ВРЕМЕННЫЙ БАФФ: «Щедрость наставника»

Эффект: –30% к цене полного набора ДСника
Было: 121.800 ₽ → Стало: 84.900 ₽

☞ Что ждет тебя в этом квесте

— Получение артефактов: портфолио проектов и сертификаты— Прокачка от новичка до Senior Data Scientist— Босс-файты с реальными задачами из индустрии— Доступ к гильдии единомышленников


📎 Забрать бафф
Рассрочки: 3 мес | 6 мес | 12 мес
Чем отличаются друг от друга классы String и StringBuilder?

Объект класса String представляет собой неизменяемую строку.
Когда выполняется какой-нибудь метод класса String, система создает новый объект в памяти с выделением ему достаточного места.

Объект класса StringBuilder представляет собой динамическую строку.
При создании строки StringBuilder выделяет памяти больше, чем необходимо этой строке, а при добавлении к ней каких-либо элементов строка не пересоздается заново.
В том случае если выделенной памяти не будет хватать для добавления новых элементов, то емкость объекта будет увеличена.


Библиотека задач по C#
👍1
⚡️ Будь как этот гений с картинки — предлагай свои условия работодателю, а не наоборот!

Кто нужен?

Senior ML-Engineer с опытом работы более 6 месяцев в FAANG компаниях. Требование: разработать кросс-платформенное приложение-трекер зарплат с AI-распознаванием вакансий по резюме.


Но если вы пока джун — я бы предложил:

- Full-time контракт: 180к/мес после курса + опцион на карьеру в топ-компаниях

- Либо фикс за проект: стань ML-инженером за 39к вместо 44к с промокодом LASTCALL

🔗 Старт 9 сентября
В .NET Core приложении вы заметили частые паузы из-за работы GC. Профилирование показывает большое количество короткоживущих объектов, создаваемых внутри горячих методов. Какой подход наиболее правильный для оптимизации?

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

Библиотека задач по C#
👍9
Какое из следующих утверждений верно относительно конструкторов в C#?

👾 — Они могут иметь возвращаемый тип
👍 — Они вызываются при создании объекта
🥰 — Они могут быть приватными
⚡️ — Второй вариант и третий

Библиотека задач по C#
29👍2
В C# есть ключевое слово async/await. Какое утверждение наиболее корректно описывает их использование?

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

Библиотека задач по C#
👍451😢1
В C# чем отличается struct от class?

👾 — Разницы нет, это взаимозаменяемые типы
👍 — struct — value type (хранится в стеке), class — reference type (в куче)
🥰 — struct можно наследовать от другого struct, а class — нет
⚡️ — class быстрее, чем struct, всегда

Библиотека задач по C#
👍59🔥1
В высоконагруженном ASP.NET Core сервисе, вызывающем внешние HTTP-API, при пиках нагрузки растут таймауты, наблюдается socket exhaustion (много соединений в TIME_WAIT). Какой подход наиболее корректный?

👾 — Создавать новый HttpClient на каждый запрос для «чистых» соединений
👍 — Использовать IHttpClientFactory с переиспользованием SocketsHttpHandler, настроив пул соединений, таймауты и политику DNS
🥰 — Оборачивать каждый запрос в Task.Run, чтобы разгрузить поток
⚡️ — Перейти на HttpWebRequest, так как он «ближе к сокетам»

Библиотека задач по C#
👍13🌚1
🔥 Последняя неделя перед стартом курса по AI-агентам

Старт курса уже 15го числа! Если вы планировали вписаться — сейчас ПОСЛЕДНИЙ шанс забронировать место

На курсе:
разложим LLM по косточкам: токенизация, SFT, PEFT, инференс
— соберём RAG и научимся оценивать его адекватно
— построим настоящую мультиагентную систему — архитектуру, которая умеет расти
— разберём CoPilot, сломаем через prompt injection (спасибо Максу)
— и наконец, посмотрим, как это работает в MCP и реальных кейсах

📍 Это 5 живых вебинаров + раздатка + домашки + чат с преподавателями

И главное — возможность реально разобраться, как проектировать системы на LLM, а не просто «поиграться с API»

Промокод на 5.000₽: LASTCALL

👉 Курс здесь
Библиотечный метод возвращает ValueTask<T> (часто завершается синхронно). В вызывающем коде результат нужно ждать несколько раз и/или комбинировать с другими задачами через Task.WhenAll. Что делать правильно?

👾 — ValueTask<T> можно await-ить сколько угодно раз — как Task<T>
👍 — Сконвертировать в Task<T> через .AsTask() и уже его ждать/комбинировать
🥰 — Обернуть в Task.Run(...), чтобы получить полноценную Task
⚡️ — Никогда не возвращать ValueTask<T> из публичных API — всегда только Task<T>

Библиотека задач по C#
👍8
Объясните, что такое GameObject и Component в Unity

В основе Unity лежат GameObjects, которые являются строительными блоками любого игрового сценария. GameObject может представлять различные сущности, например:
а) Персонажи
б) Объекты
в) Камеры
г) Свет и многое другое

Компоненты, с другой стороны, являются элементами, прикрепленными к GameObjects для определения их конкретного поведения или свойств. Unity предлагает широкий спектр встроенных компонентов, позволяющих разработчикам настраивать и расширять функциональность GameObjects. Эти компоненты включают в себя следующее:

a) Rigidbodies
b) Colliders
c) Источники аудио
d) Скрипты
e) Particle Systems и многое другое


🐸Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
ASP.NET Core сервис использует IHttpClientFactory и держит долгоживущие соединения к внешнему API. После смены DNS у апстрима трафик продолжает идти на старые IP. Как правильно исправить?

👾 — Создавать новый HttpClient на каждый запрос
👍 — Настроить у SocketsHttpHandler параметр PooledConnectionLifetime через IHttpClientFactory, чтобы периодически пересоздавать соединения и подхватывать новые DNS
🥰 — Уменьшить HttpClient.Timeout
⚡️ — Включить Expect: 100-continue

🐸Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
👍181
Какое ключевое слово C# используется для изменения данных и поведения базового класса путем замены члена базового класса новым производным членом?

👾 — overrides
👍 — protected
🥰 — base
⚡️ — new

🐸Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
👾342🥰1
Какое утверждение о ValueTask верно?

👾 — ValueTask можно безопасно ожидать сколь угодно раз, как и Task
👍 — ValueTask целесообразен, когда результат часто доступен синхронно; его корректно ожидать только один раз (если не преобразован в Task)
🥰 — ValueTask всегда аллоцирует меньше памяти, чем Task, вне зависимости от сценария
⚡️ — ValueTask ковариантен и неявно приводится к Task

🐸Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19
В ASP.NET Core под нагрузкой наблюдается socket exhaustion (много TIME_WAIT/CLOSE_WAIT). Используется IHttpClientFactory. Код упрощённо такой:

var resp = await client.GetAsync(url);
var body = await resp.Content.ReadAsStringAsync();
return body;


👾 — Добавить ConfigureAwait(false) на все await
👍 — Создавать новый HttpClient на каждый запрос
🥰 — Гарантированно освобождать ответ/поток: using var resp = await client.SendAsync(req, HttpCompletionOption.ResponseHeadersRead, ct); await using var s = await resp.Content.ReadAsStreamAsync(ct); ... — чтобы соединение вернулось в пул
⚡️ — Просто поднять MaxConnectionsPerServer у SocketsHttpHandler

🐸Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰11
В чём разница между ключевыми словами readonly и const в C#?

Пример ответа: «Ключевое слово readonly в C# используется для полей экземпляров, которые могут быть присвоены только во время объявления или в конструкторе. После присвоения их значения невозможно поменять. Ключевое слово const используется для статических констант, которые можно только прочесть и нельзя изменить во время работы программы. Полям const нужно присваивать значение во время объявления».

🐸Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
📅 24 сентября в 19:00 МСК — бесплатный вебинар с Максимом Шаланкиным.

Тема: «ИИ-агенты: новая фаза развития искусственного интеллекта».

🔹 Почему все говорят про ИИ-агентов и куда вливаются миллиарды инвестиций.
🔹 Чем они отличаются от ChatGPT и обычных ботов.
🔹 Как работает цикл агента: восприятие → планирование → действие → обучение.
🔹 Живое демо простого агента.
🔹 Потенциал для бизнеса: автоматизация процессов и ROI до 80%.

Не придёшь — будешь потом рассказывать, что «агенты — это как чат-боты», и ловить косые взгляды от коллег 😏

👉 Регистрируйтесь через форму на лендинге
⚡️ Бесплатный вебинар — ИИ-агенты: новая фаза развития AI

24 сентября в 19:00 МСК состоится бесплатный вебинар с Максимом Шаланкиным — Data Science Team Lead в финтех-команде MWS, а познакомиться с ним ближе можно в его тг-канале.

Тема:
«ИИ-агенты: новая фаза развития искусственного интеллекта».


На вебинаре разберёмся, почему агенты — это следующий шаг после ChatGPT, чем они отличаются от обычных моделей и как уже приносят бизнесу ROI до 80%. А дальше я покажу, как эта тема ложится в наш курс по ИИ-агентам, который разработан под руководством Никиты Зелинского.

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