👍45👾1
Что такое упаковка и распаковка?
Пример: «Преобразование типа значения в ссылочный тип называется «упаковкой». Явное преобразование того же ссылочного типа, который создается путем упаковки обратно в тип значения, называется «распаковкой».
Библиотека задач по C#
Библиотека задач по C#
👍3
Что верно про ValueTask?
👾 — Всегда быстрее Task
👍 — Можно безопасно ожидать многократно
🥰 — Ожидать можно один раз; для повторных — AsTask()
⚡️ — Экземпляры стоит кэшировать и переиспользовать
Библиотека задач по C#
👾 — Всегда быстрее Task
👍 — Можно безопасно ожидать многократно
🥰 — Ожидать можно один раз; для повторных — AsTask()
⚡️ — Экземпляры стоит кэшировать и переиспользовать
Библиотека задач по C#
🥰21👍3
В ASP.NET Core что даёт ConfigureAwait(false)?
👾 — Нужен всегда, иначе дедлок
👍 — Обычно избыточен (нет SynchronizationContext), но harmless и может чуть снизить накладные расходы
🥰 — Запрещает выполнение на thread pool
⚡️ — Переключает на UI-поток
Библиотека задач по C#
👾 — Нужен всегда, иначе дедлок
👍 — Обычно избыточен (нет SynchronizationContext), но harmless и может чуть снизить накладные расходы
🥰 — Запрещает выполнение на thread pool
⚡️ — Переключает на UI-поток
Библиотека задач по C#
👍28
Как ключевое слово volatile работает в C#? Когда и как его следует использовать?
Ключевое слово volatile используется для того, чтобы значение переменной всегда считывалось и записывалось в основную память, а не из кэша. Используйте его, если у вас есть переменная, совместно используемая несколькими потоками, и вы хотите избежать потенциальных проблем с видимостью или устаревших значений.
🐸 Библиотека задач по C#
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 Задача с собесеседования
Недавно в одном известном всем банке кандидату была предложена задача:
Вероятности, распределения, матожидание, градиенты — всё это может всплыть на интервью, и даже в продовых задачах.
🎓 Proglib запускает экспресс-курс «Математика для Data Science» — для тех, кто хочет закрыть эти пробелы и понять математику быстро, качественно и без боли.
🔍 На курсе вас ждет:
— линейная алгебра, анализ, теория вероятности и статистика;
— градиенты, матрицы и экстремумы функций;
— математики и алгоритмы машинного обучения;
— много практики.
📅 Старт: 6 ноября
⏰ Формат: 10 вебинаров и 3 практических проекта
💬 Поддержка: менторы + Telegram-чат
💰 Стоимость: 37 000 ₽ (есть рассрочка)
🔗 Узнать больше и записаться
Недавно в одном известном всем банке кандидату была предложена задача:
Есть клиент, который за месяц делает 1000 транзакций.
Нужно посчитать вероятность того, что среди них окажется хотя бы одна дублирующаяся сумма, если каждая сумма округляется до 2 знаков после запятой.
Вероятности, распределения, матожидание, градиенты — всё это может всплыть на интервью, и даже в продовых задачах.
🎓 Proglib запускает экспресс-курс «Математика для Data Science» — для тех, кто хочет закрыть эти пробелы и понять математику быстро, качественно и без боли.
🔍 На курсе вас ждет:
— линейная алгебра, анализ, теория вероятности и статистика;
— градиенты, матрицы и экстремумы функций;
— математики и алгоритмы машинного обучения;
— много практики.
📅 Старт: 6 ноября
⏰ Формат: 10 вебинаров и 3 практических проекта
💬 Поддержка: менторы + Telegram-чат
💰 Стоимость: 37 000 ₽ (есть рассрочка)
🔗 Узнать больше и записаться
Боксинг в .Net позволяет пользователю конвертировать
👾 — тип integer в double
👍 — тип reference в тип value
🥰 — тип value в тип reference
⚡️ — тип double в integer
🐸 Библиотека задач по C#
👾 — тип integer в double
👍 — тип reference в тип value
🥰 — тип value в тип reference
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰43😢2🤩1
😵💫 Устал от бесконечной подготовки к собесам?
Тогда залетай к нам, есть задачка попроще.
Пройди в нашем боте мини-тест по математике и узнай, готов ли ты к Data Science или стоит что-то подтянуть.
📱 Перейти в бота
Тогда залетай к нам, есть задачка попроще.
Пройди в нашем боте мини-тест по математике и узнай, готов ли ты к Data Science или стоит что-то подтянуть.
📱 Перейти в бота
Где возможна скрытая аллокация (boxing) при foreach?
👾 — По List<int>
👍 — По IEnumerable<int> поверх List<int>
🥰 — По массиву int[]
⚡️ — В обычном for
🐸 Библиотека задач по C#
👾 — По List<int>
👍 — По IEnumerable<int> поверх List<int>
🥰 — По массиву int[]
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17👾1
🔥 Новый курс «Математика для Data Science»
Записывайтесь до 19.10 и получите бонус-курс «Школьная математика» для быстрого освежения знаний! 🚀
🧠 Эксперты-спикеры на курсе:
▫️ Диана Миронидис — преподаватель ВШЭ, автор Яндекс Практикума;
▫️ Ксения Кондаурова — преподаватель Центрального Университета (Т-Банк);
▫️ Маргарита Бурова — академический руководитель программ Wildberries & Russ.
👉🏻 Не упустите шанс улучшить свои навыки
Записывайтесь до 19.10 и получите бонус-курс «Школьная математика» для быстрого освежения знаний! 🚀
🧠 Эксперты-спикеры на курсе:
▫️ Диана Миронидис — преподаватель ВШЭ, автор Яндекс Практикума;
▫️ Ксения Кондаурова — преподаватель Центрального Университета (Т-Банк);
▫️ Маргарита Бурова — академический руководитель программ Wildberries & Russ.
👉🏻 Не упустите шанс улучшить свои навыки
Необходимо ли использование оператора return в каждой функции в C#?
👾 — Да
⚡️ — Нет
🐸 Библиотека задач по C#
👾 — Да
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡46👾2
💥 Математика, которая не «для галочки»
Разработали курс «Математика для Data Science» специально для вас — чтобы закрыть все пробелы в математике и уверенно пройти любое собеседование на позицию Data Scientist.
🧠 За 2 месяца ты разберёшь:
➡️ линейную алгебру — работа с векторами и матрицами, их разложения, собственные значения и обратные матрицы;
➡️ мат. анализ — пределы, производные, экстремумы, применение градиентного спуска;
➡️ теорию вероятностей и статистику — случайные величины, распределения, статистические гипотезы, A/B-тесты;
➡️ математику в ML и аналитике — как использовать всё это в алгоритмах, логистической регрессии, методах ближайших соседей, байесовских подходах.
📚 Формат: 10 вебинаров, 3 практических проекта, тесты и чат с менторами.
🔥 При оплате до 19 октября получите курс по базовой математике в подарок.
🔗 Записаться на курс
Разработали курс «Математика для Data Science» специально для вас — чтобы закрыть все пробелы в математике и уверенно пройти любое собеседование на позицию Data Scientist.
🧠 За 2 месяца ты разберёшь:
➡️ линейную алгебру — работа с векторами и матрицами, их разложения, собственные значения и обратные матрицы;
➡️ мат. анализ — пределы, производные, экстремумы, применение градиентного спуска;
➡️ теорию вероятностей и статистику — случайные величины, распределения, статистические гипотезы, A/B-тесты;
➡️ математику в ML и аналитике — как использовать всё это в алгоритмах, логистической регрессии, методах ближайших соседей, байесовских подходах.
📚 Формат: 10 вебинаров, 3 практических проекта, тесты и чат с менторами.
🔥 При оплате до 19 октября получите курс по базовой математике в подарок.
🔗 Записаться на курс
Различия между интерфейсом и абстрактным классом в .NET
Интерфейс просто объявляет поведение, которым должны обладать реализующие классы. Он объявляет только свойства, методы и события без модификаторов доступа. Все объявленные члены должны быть реализованы.
Абстрактный класс предоставляет частичную реализацию функциональности и некоторые абстрактные/виртуальные члены, которые должны быть реализованы сущностями, которые наследуют класс. Он также объявляет поля.
Интерфейс и абстрактный класс не могут быть инстанцированы.
🐸 Библиотека задач по C#
Интерфейс просто объявляет поведение, которым должны обладать реализующие классы. Он объявляет только свойства, методы и события без модификаторов доступа. Все объявленные члены должны быть реализованы.
Абстрактный класс предоставляет частичную реализацию функциональности и некоторые абстрактные/виртуальные члены, которые должны быть реализованы сущностями, которые наследуют класс. Он также объявляет поля.
Интерфейс и абстрактный класс не могут быть инстанцированы.
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚1
В .NET Core приложении вы заметили частые паузы из-за работы GC. Профилирование показывает большое количество короткоживущих объектов, создаваемых внутри горячих методов. Какой подход наиболее правильный для оптимизации?
👾 — Увеличить размер heap в настройках CLR
👍 — Снизить количество аллокаций, используя Span<T>, пулы объектов (ArrayPool<T>, ObjectPool<T>) и минимизацию временных коллекций
🥰 — Принудительно вызывать GC.Collect() после каждого запроса
⚡️ — Перевести все классы в struct, чтобы они хранились на стеке
Библиотека задач по C#
👾 — Увеличить размер heap в настройках CLR
👍 — Снизить количество аллокаций, используя Span<T>, пулы объектов (ArrayPool<T>, ObjectPool<T>) и минимизацию временных коллекций
🥰 — Принудительно вызывать GC.Collect() после каждого запроса
⚡️ — Перевести все классы в struct, чтобы они хранились на стеке
Библиотека задач по C#
👍22🥰1
Как в C# реализуется паттерн «Lazy Initialization» и какие меры предосторожности необходимо предпринять для его корректного использования в многопоточных приложениях?
В C# «Lazy Initialization» реализуется с помощью класса Lazy, который обеспечивает отложенную инициализацию объекта. Для обеспечения безопасности в многопоточных приложениях, важно использовать конструктор Lazy с параметром LazyThreadSafetyMode, который контролирует доступ к объекту и обеспечивает потокобезопасную инициализацию. Это предотвращает создание нескольких экземпляров в многопоточной среде и гарантирует, что объект будет инициализирован только один раз.
Библиотека задач по C#
Библиотека задач по C#
Что выведет код?
👾 — Мусорное значение
👍 — 0
🥰 — Compile-time error
⚡️ — Runtime error
Библиотека задач по C#
👾 — Мусорное значение
👍 — 0
🥰 — Compile-time error
⚡️ — Runtime error
Библиотека задач по C#
👍43🥰16👾2❤1⚡1
Может ли класс реализовать два интерфейса, у которых объявлены одинаковые методы? Если да, то каким образом?
Может. Общие методы при этом надо реализовывать один раз неявно или два раза явно (с указанием имени интерфейса). При явной реализации метод нельзя будет вызывать без приведения экземпляра класса к интерфейсу (если только не будет третьей реализации метода в классе).
Если два метода интерфейса выполняют разные действия, то неявная реализация интерфейсов может быть некорректной.
Библиотека задач по C#
Если два метода интерфейса выполняют разные действия, то неявная реализация интерфейсов может быть некорректной.
Библиотека задач по C#
🔎 Собес сам себя не пройдет
Ты готов к собеседованию? А если проверю?
Залетай к нам и забирай курсы со скидкой 40%. Только до конца октября можно узнать много нового и отточить навыки.
🎯 Забирай курсы:
🐍 python для разработчиков;
🧮 алгоритмы и структуры данных;
📝 архитектуры и шаблоны проектирования;
🧩 основы IT для новичков.
⚡️ Не упусти скидку и получи долгожданный оффер!
Ты готов к собеседованию? А если проверю?
Залетай к нам и забирай курсы со скидкой 40%. Только до конца октября можно узнать много нового и отточить навыки.
🎯 Забирай курсы:
🐍 python для разработчиков;
🧮 алгоритмы и структуры данных;
📝 архитектуры и шаблоны проектирования;
🧩 основы IT для новичков.
⚡️ Не упусти скидку и получи долгожданный оффер!
Что верно про Terraform?
👾 — Не идемпотентен
👍 — plan изменяет инфраструктуру
🥰 — Состояние (state) нужно хранить удалённо и блокировать
⚡️ — Провайдеры не влияют на детерминизм
Библиотека задач по C#
👾 — Не идемпотентен
👍 — plan изменяет инфраструктуру
🥰 — Состояние (state) нужно хранить удалённо и блокировать
⚡️ — Провайдеры не влияют на детерминизм
Библиотека задач по C#
🥰3
Когда оправдан ValueTask?
👾 — Всегда лучше Task
👍 — Когда результат часто готов синхронно — ради уменьшения аллокаций; повторное ожидание недопустимо
🥰 — Можно ждать сколько угодно раз
⚡️ — Нужен для IAsyncDisposable
Библиотека задач по C#
👾 — Всегда лучше Task
👍 — Когда результат часто готов синхронно — ради уменьшения аллокаций; повторное ожидание недопустимо
🥰 — Можно ждать сколько угодно раз
⚡️ — Нужен для IAsyncDisposable
Библиотека задач по C#
👍21❤1
