Библиотека задач по C# | тесты, код, задания
رفتن به کانال در Telegram
Задачи и тесты по C# для тренировки и обучения. Учиться у нас: https://clc.to/3e1SCw По рекламе: @tproger_sales_bot Для обратной связи: @proglibrary_feeedback_bot Наши каналы: https://t.me/proglibrary/9197
نمایش بیشتر4 886
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-177 روز
-5030 روز
آرشیو پست ها
Что выведет код?
Мусорное значение
0
Compile-time error
Runtime error
Как в C# реализуется паттерн «Lazy Initialization» и какие меры предосторожности необходимо предпринять для его корректного использования в многопоточных приложениях?
В C# «Lazy Initialization» реализуется с помощью класса Lazy, который обеспечивает отложенную инициализацию объекта. Для обеспечения безопасности в многопоточных приложениях, важно использовать конструктор Lazy с параметром LazyThreadSafetyMode, который контролирует доступ к объекту и обеспечивает потокобезопасную инициализацию. Это предотвращает создание нескольких экземпляров в многопоточной среде и гарантирует, что объект будет инициализирован только один раз.
Библиотека задач по C#
В .NET Core приложении вы заметили частые паузы из-за работы GC. Профилирование показывает большое количество короткоживущих объектов, создаваемых внутри горячих методов. Какой подход наиболее правильный для оптимизации?
👾 — Увеличить размер heap в настройках CLR
👍 — Снизить количество аллокаций, используя Span<T>, пулы объектов (ArrayPool<T>, ObjectPool<T>) и минимизацию временных коллекций
🥰 — Принудительно вызывать GC.Collect() после каждого запроса
⚡️ — Перевести все классы в struct, чтобы они хранились на стеке
Библиотека задач по C#
Различия между интерфейсом и абстрактным классом в .NET
Интерфейс просто объявляет поведение, которым должны обладать реализующие классы. Он объявляет только свойства, методы и события без модификаторов доступа. Все объявленные члены должны быть реализованы.
Абстрактный класс предоставляет частичную реализацию функциональности и некоторые абстрактные/виртуальные члены, которые должны быть реализованы сущностями, которые наследуют класс. Он также объявляет поля.
Интерфейс и абстрактный класс не могут быть инстанцированы.
🐸Библиотека задач по C#
💥 Математика, которая не «для галочки»
Разработали курс «Математика для Data Science» специально для вас — чтобы закрыть все пробелы в математике и уверенно пройти любое собеседование на позицию Data Scientist.
🧠 За 2 месяца ты разберёшь:
➡️ линейную алгебру — работа с векторами и матрицами, их разложения, собственные значения и обратные матрицы;
➡️ мат. анализ — пределы, производные, экстремумы, применение градиентного спуска;
➡️ теорию вероятностей и статистику — случайные величины, распределения, статистические гипотезы, A/B-тесты;
➡️ математику в ML и аналитике — как использовать всё это в алгоритмах, логистической регрессии, методах ближайших соседей, байесовских подходах.
📚 Формат: 10 вебинаров, 3 практических проекта, тесты и чат с менторами.
🔥 При оплате до 19 октября получите курс по базовой математике в подарок.
🔗 Записаться на курс
Необходимо ли использование оператора return в каждой функции в C#?
👾 — Да
⚡️ — Нет
🐸Библиотека задач по C#
🔥 Новый курс «Математика для Data Science»
Записывайтесь до 19.10 и получите бонус-курс «Школьная математика» для быстрого освежения знаний! 🚀
🧠 Эксперты-спикеры на курсе:
▫️ Диана Миронидис — преподаватель ВШЭ, автор Яндекс Практикума;
▫️ Ксения Кондаурова — преподаватель Центрального Университета (Т-Банк);
▫️ Маргарита Бурова — академический руководитель программ Wildberries & Russ.
👉🏻 Не упустите шанс улучшить свои навыки
Где возможна скрытая аллокация (boxing) при foreach?
👾 — По List<int>
👍 — По IEnumerable<int> поверх List<int>
🥰 — По массиву int[]
⚡️ — В обычном for
🐸Библиотека задач по C#
😵💫 Устал от бесконечной подготовки к собесам?
Тогда залетай к нам, есть задачка попроще.
Пройди в нашем боте мини-тест по математике и узнай, готов ли ты к Data Science или стоит что-то подтянуть.
📱 Перейти в бота
Боксинг в .Net позволяет пользователю конвертировать
👾 — тип integer в double
👍 — тип reference в тип value
🥰 — тип value в тип reference
⚡️ — тип double в integer
🐸Библиотека задач по C#
💡 Задача с собесеседования
Недавно в одном известном всем банке кандидату была предложена задача:
Есть клиент, который за месяц делает 1000 транзакций. Нужно посчитать вероятность того, что среди них окажется хотя бы одна дублирующаяся сумма, если каждая сумма округляется до 2 знаков после запятой.Вероятности, распределения, матожидание, градиенты — всё это может всплыть на интервью, и даже в продовых задачах. 🎓 Proglib запускает экспресс-курс «Математика для Data Science» — для тех, кто хочет закрыть эти пробелы и понять математику быстро, качественно и без боли. 🔍 На курсе вас ждет: — линейная алгебра, анализ, теория вероятности и статистика; — градиенты, матрицы и экстремумы функций; — математики и алгоритмы машинного обучения; — много практики. 📅 Старт: 6 ноября ⏰ Формат: 10 вебинаров и 3 практических проекта 💬 Поддержка: менторы + Telegram-чат 💰 Стоимость: 37 000 ₽ (есть рассрочка) 🔗 Узнать больше и записаться
Как ключевое слово volatile работает в C#? Когда и как его следует использовать?
Ключевое слово volatile используется для того, чтобы значение переменной всегда считывалось и записывалось в основную память, а не из кэша. Используйте его, если у вас есть переменная, совместно используемая несколькими потоками, и вы хотите избежать потенциальных проблем с видимостью или устаревших значений.
🐸Библиотека задач по C#
В ASP.NET Core что даёт ConfigureAwait(false)?
👾 — Нужен всегда, иначе дедлок
👍 — Обычно избыточен (нет SynchronizationContext), но harmless и может чуть снизить накладные расходы
🥰 — Запрещает выполнение на thread pool
⚡️ — Переключает на UI-поток
Библиотека задач по C#
Что верно про ValueTask?
👾 — Всегда быстрее Task
👍 — Можно безопасно ожидать многократно
🥰 — Ожидать можно один раз; для повторных — AsTask()
⚡️ — Экземпляры стоит кэшировать и переиспользовать
Библиотека задач по C#
Что такое упаковка и распаковка?
Пример: «Преобразование типа значения в ссылочный тип называется «упаковкой». Явное преобразование того же ссылочного типа, который создается путем упаковки обратно в тип значения, называется «распаковкой».
Библиотека задач по C#
Что выведет
Console.WriteLine(Math.PI);?
👾 — 3.14
👍 — 3.14159
🥰 — Error
Библиотека задач по C#⏳ Время прокачать алгоритмы с 40-процентной скидкой до конца октября
На собеседовании не просят бездумно написать шаблонное решение. Важно понимать, как работают алгоритмы под капотом.
🔹 В курсе ты научишься:
— искать ошибки с помощью редакционного расстояния;
— работать с балансированными деревьями и графами;
— решать задачи с динамическим программированием;
— и многое другое, что пригодится на собеседованиях.
🤔 Решаешь задачи только в тг каналах? Пройди курс и отправляйся на реальные собеседования!
🔗 Подробнее о курсе
Можно ли объявить собственный конструктор без параметров у struct?
👾 — Да, начиная с C# 10
⚡️ — Нет
Библиотека задач по C#
Что выведет код?
👾 — 10
👍 — 55
🥰 — Compile-time error
⚡️ — Runtime error
Библиотека задач по C#
🧠 Прокачай мозг, а не только код
Вместо бесконечных туториалов на YouTube предлагаем разобрать, что делает код читаемым, а архитектуру — устойчивой.
🧩 Курсы, полезные для любого ЯП:
— Алгоритмы и структуры данных
— Архитектуры и шаблоны проектирования
— Математика и основы IT
🐍 И ещё курс по Python
🔥 До конца октября скидка 40%!
🔗 Перейти к курсам
