Что означает ref readonly возврат из метода?
👾 — Можно присвоить новое значение через эту ссылку
👍 — Это ссылка только для чтения на исходные данные; запись запрещена, нельзя возвращать ссылку на временный
🥰 — Это обычная копия значения на стеке
⚡️ — Разрешено только для struct
Библиотека задач по C#
👾 — Можно присвоить новое значение через эту ссылку
👍 — Это ссылка только для чтения на исходные данные; запись запрещена, нельзя возвращать ссылку на временный
🥰 — Это обычная копия значения на стеке
⚡️ — Разрешено только для struct
Библиотека задач по C#
👍19
Что верно про параметрический конструктор без параметров в struct (C# 10+)?
👾 — И new S(), и default(S) всегда вызывают его
👍 — new S() вызовет ваш ctor; default(S)/массивы дадут нулевую инициализацию без вызова ctor
🥰 — Такой конструктор запрещён
⚡️ — В Release поведение неопределённо
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по C#
👾 — И new S(), и default(S) всегда вызывают его
👍 — new S() вызовет ваш ctor; default(S)/массивы дадут нулевую инициализацию без вызова ctor
🥰 — Такой конструктор запрещён
⚡️ — В Release поведение неопределённо
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по C#
👾4👍1
Чем SelectMany отличается от Select в LINQ?
👾 — SelectMany быстрее, но делает то же самое
👍 — SelectMany плющит последовательность последовательностей в одну; Select лишь проецирует, оставляя вложенность
🥰 — SelectMany работает только с массивами
⚡️ — Select автоматически плоским делает коллекции строк
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по C#
👾 — SelectMany быстрее, но делает то же самое
👍 — SelectMany плющит последовательность последовательностей в одну; Select лишь проецирует, оставляя вложенность
🥰 — SelectMany работает только с массивами
⚡️ — Select автоматически плоским делает коллекции строк
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по C#
👍29🌚4❤1
Чем IAsyncEnumerable<T> отличается от Task<IEnumerable<T>> для стриминга?
👾 — Ничем: оба буферизуют весь результат
👍 — IAsyncEnumerable<T> отдаёт элементы по мере готовности, без полной материализации; Task<IEnumerable<T>> возвращает коллекцию разом
🥰 — IAsyncEnumerable<T> не поддерживает отмену
⚡️ — Task<IEnumerable<T>> всегда быстрее
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по C#
👾 — Ничем: оба буферизуют весь результат
👍 — IAsyncEnumerable<T> отдаёт элементы по мере готовности, без полной материализации; Task<IEnumerable<T>> возвращает коллекцию разом
🥰 — IAsyncEnumerable<T> не поддерживает отмену
⚡️ — Task<IEnumerable<T>> всегда быстрее
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по C#
👍26🥰1
Что реально гарантирует volatile для поля?
👾 — Делает все операции (например, x++) атомарными
👍 — Обеспечивает видимость между потоками и порядок (acquire/release) для чтений/записей, но не делает составные операции атомарными
🥰 — Эквивалентно lock по безопасности
⚡️ — Ускоряет доступ к памяти
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по C#
👾 — Делает все операции (например, x++) атомарными
👍 — Обеспечивает видимость между потоками и порядок (acquire/release) для чтений/записей, но не делает составные операции атомарными
🥰 — Эквивалентно lock по безопасности
⚡️ — Ускоряет доступ к памяти
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по C#
👍11
В чем разница между Update и FixedUpdate в Unity, и какие сценарии лучше всего подходят для каждого из них?
В Unity, Update вызывается один раз за кадр и идеально подходит для большинства обновлений игровой логики, таких как получение ввода пользователя и перемещение персонажей. FixedUpdate, с другой стороны, вызывается с фиксированным интервалом времени и лучше всего подходит для обновлений, связанных с физикой, таких как применение сил, поскольку это обеспечивает более стабильное и предсказуемое поведение физической системы.
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по C#
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по C#
Зачем init-сеттеры?
👾 — Чтобы свойство было доступно только внутри класса
👍 — Чтобы разрешить установку только при инициализации (конструктор/object initializer), после — неизменяемо; удобно для иммутабельных моделей/records
🥰 — Чтобы свойство стало readonly на уровне IL
⚡ — Чтобы сделать свойство thread-safe без синхронизации
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по C#
👾 — Чтобы свойство было доступно только внутри класса
👍 — Чтобы разрешить установку только при инициализации (конструктор/object initializer), после — неизменяемо; удобно для иммутабельных моделей/records
🥰 — Чтобы свойство стало readonly на уровне IL
⚡ — Чтобы сделать свойство thread-safe без синхронизации
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по C#
👍15
🎄 С Нового года начну учиться — знакомо?
А потом январь — освоюсь после праздников, февраль — доделаю текущие дела... Не откладывай на следующий год то, что можно начать уже в этом.
🗓️ 4 декабря стартует экспресс-курс «Математика для Data Science»— всё, что нужно для уверенных ответов на собесах:
→ 2 месяца без воды;
→ обновлённая программа (ноябрь 2025);
→ живые вебинары с экспертами;
→ записи всех занятий;
→ практика на Python + финальный проект с фидбэком.
Формат: 2 месяца интенсива и к началу следующего года ты готов к собесам.
Пока другие будут собираться с мыслями после НГ, ты уже будешь на полпути к офферу мечты.
🎁 Только до 30 ноября:
→ скидка 40% на курс;
→ курс «Базовая математика» в подарок;
→ бесплатный тест уровня математики.
👉🏻 Хочешь на курс → пиши менеджеру
А потом январь — освоюсь после праздников, февраль — доделаю текущие дела... Не откладывай на следующий год то, что можно начать уже в этом.
🗓️ 4 декабря стартует экспресс-курс «Математика для Data Science»— всё, что нужно для уверенных ответов на собесах:
→ 2 месяца без воды;
→ обновлённая программа (ноябрь 2025);
→ живые вебинары с экспертами;
→ записи всех занятий;
→ практика на Python + финальный проект с фидбэком.
Формат: 2 месяца интенсива и к началу следующего года ты готов к собесам.
Пока другие будут собираться с мыслями после НГ, ты уже будешь на полпути к офферу мечты.
🎁 Только до 30 ноября:
→ скидка 40% на курс;
→ курс «Базовая математика» в подарок;
→ бесплатный тест уровня математики.
👉🏻 Хочешь на курс → пиши менеджеру
Что делает оператор ! (null-forgiving)?
👾 — Добавляет runtime-проверку и бросает NullReferenceException при null
👍 — Лишь подавляет предупреждение анализатора nullable; на рантайм не влияет
🥰 — Навсегда делает тип non-nullable
⚡ — Автоматически кидает ArgumentNullException
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по C#
👾 — Добавляет runtime-проверку и бросает NullReferenceException при null
👍 — Лишь подавляет предупреждение анализатора nullable; на рантайм не влияет
🥰 — Навсегда делает тип non-nullable
⚡ — Автоматически кидает ArgumentNullException
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по C#
👍17
Что выведет код?
👾 — Hello, world!
👍 — DelegateMethod
🥰 — Error
⚡️ — Ничего из вышеперечисленного
🤌 Бонусы для подписчиков:
— Скидка 40% на все курсы Академии
— Розыгрыш Apple MacBook
— Бесплатный тест на знание математики
Библиотека задач по C#
👾 — Hello, world!
👍 — DelegateMethod
🥰 — Error
⚡️ — Ничего из вышеперечисленного
🤌 Бонусы для подписчиков:
— Скидка 40% на все курсы Академии
— Розыгрыш Apple MacBook
— Бесплатный тест на знание математики
Библиотека задач по C#
👾17
В большом Unity-проекте вы замечаете регулярные просадки FPS при загрузке сцен и подгрузке ассетов во время игры. Какой из подходов будет наиболее правильным для минимизации этих проблем?
👾 — Использовать Resources.Load для загрузки всех объектов при старте игры, чтобы во время выполнения не было подгрузок
👍 — Перенести все ассеты в Addressables и использовать асинхронную загрузку (Addressables.LoadAssetAsync), чтобы управлять памятью и подгрузкой по мере необходимости.
🥰 —Увеличить количество потоков в настройках Unity Player, чтобы сцена загружалась быстрее
⚡️ — Отключить VSync, чтобы повысить FPS и скрыть фризы от пользователя
🤌 Бонусы для подписчиков:
— Скидка 40% на все курсы Академии
— Розыгрыш Apple MacBook
— Бесплатный тест на знание математики
Библиотека задач по C#
👾 — Использовать Resources.Load для загрузки всех объектов при старте игры, чтобы во время выполнения не было подгрузок
👍 — Перенести все ассеты в Addressables и использовать асинхронную загрузку (Addressables.LoadAssetAsync), чтобы управлять памятью и подгрузкой по мере необходимости.
🥰 —Увеличить количество потоков в настройках Unity Player, чтобы сцена загружалась быстрее
⚡️ — Отключить VSync, чтобы повысить FPS и скрыть фризы от пользователя
🤌 Бонусы для подписчиков:
— Скидка 40% на все курсы Академии
— Розыгрыш Apple MacBook
— Бесплатный тест на знание математики
Библиотека задач по C#
👍7
Как корректно сравнивать идентификаторы/ключи без влияния культуры?
👾 — a.ToLower() == b.ToLower() без указания культуры
👍 — string.Equals(a, b, StringComparison.Ordinal[IgnoreCase]) и коллекции с StringComparer.Ordinal*
🥰 — StringComparison.CurrentCultureIgnoreCase всегда
⚡ — Оператор == уже учитывает культуру
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по C#
👾 — a.ToLower() == b.ToLower() без указания культуры
👍 — string.Equals(a, b, StringComparison.Ordinal[IgnoreCase]) и коллекции с StringComparer.Ordinal*
🥰 — StringComparison.CurrentCultureIgnoreCase всегда
⚡ — Оператор == уже учитывает культуру
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по C#
👍10🥰2
Как корректно передать CancellationToken в await foreach у IAsyncEnumerable<T>?
👾 — await foreach (var x in source(ct))
⚡ — await foreach (var x in source.WithCancellation(ct))
👍 — Достаточно using var cts = new(); рядом
🥰 — await foreach (var x in source.ConfigureAwait(false, ct))
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по C#
👾 — await foreach (var x in source(ct))
⚡ — await foreach (var x in source.WithCancellation(ct))
👍 — Достаточно using var cts = new(); рядом
🥰 — await foreach (var x in source.ConfigureAwait(false, ct))
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по C#
⚡5
🔬 Вы когда-нибудь смотрели на код и думали: «Работает, но почему?»
А теперь представьте, что вы:
→ понимаете, почему модель учится слишком медленно или слишком быстро;
→ видите, какие данные реально влияют на предсказание, а какие — шум;
→ знаете, что происходит внутри нейронки.
4 декабря стартует курс «Математика для разработки AI-моделей».
Линал, оптимизация, матан, статистика — всё, что происходит внутри модели между input и output. Практика на Python. Живые разборы с экспертами из SberAI, ВШЭ, Wildberries&Russ.
3 задания + финальный проект. Без теории ради теории — только то, что реально используется в моделях.
🎁 Бонус: курс по школьной математике + тест уровня математики
👉 Записаться
А теперь представьте, что вы:
→ понимаете, почему модель учится слишком медленно или слишком быстро;
→ видите, какие данные реально влияют на предсказание, а какие — шум;
→ знаете, что происходит внутри нейронки.
4 декабря стартует курс «Математика для разработки AI-моделей».
Линал, оптимизация, матан, статистика — всё, что происходит внутри модели между input и output. Практика на Python. Живые разборы с экспертами из SberAI, ВШЭ, Wildberries&Russ.
3 задания + финальный проект. Без теории ради теории — только то, что реально используется в моделях.
🎁 Бонус: курс по школьной математике + тест уровня математики
👉 Записаться
В .NET вы видите, что приложение часто вызывает сборку мусора, из-за чего падает производительность. Какой из подходов наиболее правильный для снижения давления на GC?
👾 — Хранить все объекты в глобальных переменных, чтобы их не собирал GC
👍 — Использовать пулы объектов (ArrayPool<T>, ObjectPool<T>) и Span<T>, чтобы сократить количество аллокаций
🥰 — Вручную вызывать GC.Collect() после каждой тяжёлой операции
⚡️ — Перейти на dynamic для универсальности и уменьшения числа классов
Библиотека задач по C#
👾 — Хранить все объекты в глобальных переменных, чтобы их не собирал GC
👍 — Использовать пулы объектов (ArrayPool<T>, ObjectPool<T>) и Span<T>, чтобы сократить количество аллокаций
🥰 — Вручную вызывать GC.Collect() после каждой тяжёлой операции
⚡️ — Перейти на dynamic для универсальности и уменьшения числа классов
Библиотека задач по C#
👍18😁2
В .NET приложении необходимо обрабатывать миллионы строк текста с минимальными расходами памяти и максимальной скоростью. Какой подход будет наиболее правильным?
👾 — Использовать string конкатенацию (+) в цикле
👍 — Применить StringBuilder для конкатенации строк
🥰 — Сохранять строки в List<string> и объединять их через string.Join
⚡️ — Использовать Span<char> или Memory<char> для работы с подстроками без создания новых объектов
Библиотека задач по C#
👾 — Использовать string конкатенацию (+) в цикле
👍 — Применить StringBuilder для конкатенации строк
🥰 — Сохранять строки в List<string> и объединять их через string.Join
⚡️ — Использовать Span<char> или Memory<char> для работы с подстроками без создания новых объектов
Библиотека задач по C#
👍23😢2⚡1
C#-разработчик, хочешь в AI? 🤖
Переход из энтерпрайза в Data Science невозможен без математической базы. Просто выучить синтаксис Python мало, нужно понимать, что происходит «под капотом».
Мы обновили курс «Математика для разработки AI-моделей» и добавили живые вебинары.
Программа ближайших дней:
🔹 Лекция 2: Векторы, матрицы, операции в
🔹 Лекция 3: Линейная регрессия и метод наименьших квадратов.
🔹 Лекция 4: Матричные разложения (SVD) и создание рекомендательных систем.
Вы научитесь не просто кодить формулы, а понимать линейную взаимосвязь векторов и снижать размерность данных.
Первый вебинар уже прошел (отзывы огонь 🔥), но записи доступны.
Присоединяйся до 9 декабря:
https://clc.to/LojFzw
Переход из энтерпрайза в Data Science невозможен без математической базы. Просто выучить синтаксис Python мало, нужно понимать, что происходит «под капотом».
Мы обновили курс «Математика для разработки AI-моделей» и добавили живые вебинары.
Программа ближайших дней:
🔹 Лекция 2: Векторы, матрицы, операции в
NumPy .🔹 Лекция 3: Линейная регрессия и метод наименьших квадратов.
🔹 Лекция 4: Матричные разложения (SVD) и создание рекомендательных систем.
Вы научитесь не просто кодить формулы, а понимать линейную взаимосвязь векторов и снижать размерность данных.
Первый вебинар уже прошел (отзывы огонь 🔥), но записи доступны.
Присоединяйся до 9 декабря:
https://clc.to/LojFzw
Что бросит await Task.WhenAll(tasks) при ошибках?
👾 — Всегда AggregateException, даже при одной ошибке
⚡ — При одной ошибке — саму эту ошибку; при нескольких — AggregateException (все доступны в t.Exception.InnerExceptions)
👍 — Никогда не бросает, просто возвращает результаты успешных задач
🥰 — Отменяет остальные задачи при первом падении
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по C#
👾 — Всегда AggregateException, даже при одной ошибке
⚡ — При одной ошибке — саму эту ошибку; при нескольких — AggregateException (все доступны в t.Exception.InnerExceptions)
👍 — Никогда не бросает, просто возвращает результаты успешных задач
🥰 — Отменяет остальные задачи при первом падении
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по C#
👾10