👾45
Каковы отличия между Finalize и Dispose?
Dispose предоставляет явный контроль над ресурсами, которые использует объект, в то время как Finalize работает неявно и управляется сборщиком мусора.
Библиотека задач по C#
Dispose предоставляет явный контроль над ресурсами, которые использует объект, в то время как Finalize работает неявно и управляется сборщиком мусора.
Библиотека задач по C#
👍3
Зачем помечать override как sealed?
👾 — Чтобы запретить вызов из другого домена
👍 — Чтобы запретить дальнейшее переопределение и дать JIT шанс де-виртуализировать/инлайнить метод
🥰 — Чтобы сделать метод static
⚡️ — Это обязательно для всех virtual в Release
Библиотека задач по C#
👾 — Чтобы запретить вызов из другого домена
👍 — Чтобы запретить дальнейшее переопределение и дать JIT шанс де-виртуализировать/инлайнить метод
🥰 — Чтобы сделать метод static
⚡️ — Это обязательно для всех virtual в Release
Библиотека задач по C#
👍26
Почему Task.Result/.Wait() могут «вешать» UI/ASP.NET classic?
👾 — Потому что Task требует STA-поток
👍 — Из-за захвата SynchronizationContext: продолжение ждёт UI-поток, который блокирует синхронное ожидание
🥰 — Потому что GC останавливает мир на ожидании
⚡️ — Потому что Result всегда делает бесконечный spinwait
Библиотека задач по C#
👾 — Потому что Task требует STA-поток
👍 — Из-за захвата SynchronizationContext: продолжение ждёт UI-поток, который блокирует синхронное ожидание
🥰 — Потому что GC останавливает мир на ожидании
⚡️ — Потому что Result всегда делает бесконечный spinwait
Библиотека задач по C#
👍22
Что гарантирует readonly struct?
👾 — Что структура хранится только на стеке
👍 — Все поля readonly; методы не могут изменять this, компилятор предотвращает записи и избегает лишних defensive copies для in
🥰 — Автоматическую реализацию IEquatable<T>
⚡️ — Что экземпляры нельзя боксить
Библиотека задач по C#
👾 — Что структура хранится только на стеке
👍 — Все поля readonly; методы не могут изменять this, компилятор предотвращает записи и избегает лишних defensive copies для in
🥰 — Автоматическую реализацию IEquatable<T>
⚡️ — Что экземпляры нельзя боксить
Библиотека задач по C#
👍26
Что даёт record struct по сравнению с обычным struct?
👾 — Делает тип ссылочным
👍 — Генерирует структурное равенство, with-копирование и Deconstruct, оставаясь значимым типом
🥰 — Запрещает изменяемые поля
⚡️ — Автоматически реализует IDisposable
Библиотека задач по C#
👾 — Делает тип ссылочным
👍 — Генерирует структурное равенство, with-копирование и Deconstruct, оставаясь значимым типом
🥰 — Запрещает изменяемые поля
⚡️ — Автоматически реализует IDisposable
Библиотека задач по C#
🥰20👍9🌚1
Чем IQueryable<T> отличается от IEnumerable<T>?
👾 — IQueryable всегда быстрее и работает только в памяти
👍 — IQueryable строит дерево выражений для провайдера и может выполняться удалённо (БД); IEnumerable перечисляет в памяти
🥰 — Они идентичны; различий нет
⚡️ — IEnumerable поддерживает async, а IQueryable — нет
Библиотека задач по C#
👾 — IQueryable всегда быстрее и работает только в памяти
👍 — IQueryable строит дерево выражений для провайдера и может выполняться удалённо (БД); IEnumerable перечисляет в памяти
🥰 — Они идентичны; различий нет
⚡️ — IEnumerable поддерживает async, а IQueryable — нет
Библиотека задач по C#
👍45
Чем опасен Task.Factory.StartNew по сравнению с Task.Run для offload CPU?
👾 — Он всегда запускает работу в новом процессе
👍 — Наследует TaskScheduler.Current, не разворачивает вложенные задачи, часто требует опций/Unwrap; для фоновой работы предпочтителен Task.Run (ThreadPool, подходящие опции)
🥰 — Он быстрее и безопаснее во всех случаях
⚡️ — Он автоматически применяет ConfigureAwait(false)
Библиотека задач по C#
👾 — Он всегда запускает работу в новом процессе
👍 — Наследует TaskScheduler.Current, не разворачивает вложенные задачи, часто требует опций/Unwrap; для фоновой работы предпочтителен Task.Run (ThreadPool, подходящие опции)
🥰 — Он быстрее и безопаснее во всех случаях
⚡️ — Он автоматически применяет ConfigureAwait(false)
Библиотека задач по C#
👍6
🖤 ЧЕРНАЯ ПЯТНИЦА: СКИДКА 40%
Что общего между Black Friday и подготовкой к собесам? Оба случаются раз в год, и оба нельзя пропустить! 😎
🔥 Курсы со скидкой 40% до конца ноября:
🐍 Python
📐 Математика
🤖 AI
🔢 Алгоритмы и структуры
Пока другие покупают кофемашины и телевизоры, инвестируй в себя📈
Что общего между Black Friday и подготовкой к собесам? Оба случаются раз в год, и оба нельзя пропустить! 😎
🔥 Курсы со скидкой 40% до конца ноября:
🐍 Python
📐 Математика
🤖 AI
🔢 Алгоритмы и структуры
Пока другие покупают кофемашины и телевизоры, инвестируй в себя📈
Что произойдет, если попытаться присвоить значение переменной readonly вне конструктора?
👾 — Ошибка компиляции
👍 — Ошибка выполнения
🥰 — Переменная будет изменена
⚡️ — Переменная станет null
Библиотека задач по C#
👾 — Ошибка компиляции
👍 — Ошибка выполнения
🥰 — Переменная будет изменена
⚡️ — Переменная станет null
Библиотека задач по C#
👾36🥱1
Как сделать «асинхронный lock» вокруг критической секции?
👾 — lock работает через await
👍 — await semaphore.WaitAsync() с SemaphoreSlim(1, 1) и try/finally Release()
🥰 — Monitor.Enter/Exit поддерживает await
⚡️ — Interlocked гарантирует эксклюзивный доступ ко всей секции
Библиотека задач по C#
👾 — lock работает через await
👍 — await semaphore.WaitAsync() с SemaphoreSlim(1, 1) и try/finally Release()
🥰 — Monitor.Enter/Exit поддерживает await
⚡️ — Interlocked гарантирует эксклюзивный доступ ко всей секции
Библиотека задач по C#
👍21
📊 Задача с собеседования
Если не понимаете с какой стороны подступиться к задаче, то пора подтянуть математику.
🎓 Именно этому посвящен курс экспресс-курс «Математика для Data Science» от Proglib Academy:
— работа с векторами и матрицами;
— линейная регрессия и метод наименьших квадратов;
— вероятности, распределения, статистика;
— и многое другое.
⏳ Старт: 4 декабря
🔥 Скидка: 40% до конца ноября
👉 Подключиться к курсу
Имеются данные о продажах за последние 12 месяцев. Требуется оценить наличие линейной зависимости между количеством заключённых сделок и объёмом выручки, а также построить прогноз выручки при достижении 150 сделок.
Если не понимаете с какой стороны подступиться к задаче, то пора подтянуть математику.
🎓 Именно этому посвящен курс экспресс-курс «Математика для Data Science» от Proglib Academy:
— работа с векторами и матрицами;
— линейная регрессия и метод наименьших квадратов;
— вероятности, распределения, статистика;
— и многое другое.
⏳ Старт: 4 декабря
🔥 Скидка: 40% до конца ноября
👉 Подключиться к курсу
Как логировать в Microsoft.Extensions.Logging с минимумом аллокаций на горячем пути?
👾 — Интерполяция строк: $"User {id} logged in"
👍 — LoggerMessage.Define/DefineScope с кэшированными делегатами (структурированное логирование)
🥰 — Console.WriteLine — самый лёгкий вариант
⚡️ — Создавать новый EventSource на каждое сообщение
Библиотека задач по C#
👾 — Интерполяция строк: $"User {id} logged in"
👍 — LoggerMessage.Define/DefineScope с кэшированными делегатами (структурированное логирование)
🥰 — Console.WriteLine — самый лёгкий вариант
⚡️ — Создавать новый EventSource на каждое сообщение
Библиотека задач по C#
👍10👾2😢1
Чем BackgroundService отличается от IHostedService?
👾 — Предназначен только для таймеров
👍 — Это базовый класс с циклом ExecuteAsync; IHostedService — лишь интерфейс Start/Stop без цикла
🥰 — Запускается только в Debug
⚡️ — Не поддерживает отмену CancellationToken
Библиотека задач по C#
👾 — Предназначен только для таймеров
👍 — Это базовый класс с циклом ExecuteAsync; IHostedService — лишь интерфейс Start/Stop без цикла
🥰 — Запускается только в Debug
⚡️ — Не поддерживает отмену CancellationToken
Библиотека задач по C#
👍26😍1
Что верно про BackgroundService в .NET?
👾 — Это таймер, который сам перезапускает приложение при сбое
👍 — Базовый класс для IHostedService: реализуете долгоживущую работу в ExecuteAsync(CancellationToken), отмена через stoppingToken
🥰 — Запускается только по расписанию Cron
⚡️ — Обязателен в ASP.NET Core для всех контроллеров
Библиотека задач по C#
👾 — Это таймер, который сам перезапускает приложение при сбое
👍 — Базовый класс для IHostedService: реализуете долгоживущую работу в ExecuteAsync(CancellationToken), отмена через stoppingToken
🥰 — Запускается только по расписанию Cron
⚡️ — Обязателен в ASP.NET Core для всех контроллеров
Библиотека задач по C#
👍27😁3
Что вызовет await using у типа, реализующего и IDisposable, и IAsyncDisposable?
👾 — Сначала Dispose(), затем DisposeAsync()
👍 — Только DisposeAsync()
🥰 — Только Dispose()
⚡️ — Зависит от JIT, случайный выбор
Библиотека задач по C#
👾 — Сначала Dispose(), затем DisposeAsync()
👍 — Только DisposeAsync()
🥰 — Только Dispose()
⚡️ — Зависит от JIT, случайный выбор
Библиотека задач по C#
👍21
Что делает await Task.Yield()?
👾 — Переносит работу на отдельный поток пула
👍 — Отдаёт управление планировщику и асинхронно продолжит после yield (в текущем контексте, если он есть); не offload’ит работу
🥰 — Усыпляет поток на один квант
⚡️ — Гарантирует переключение на UI-поток
Библиотека задач по C#
👾 — Переносит работу на отдельный поток пула
👍 — Отдаёт управление планировщику и асинхронно продолжит после yield (в текущем контексте, если он есть); не offload’ит работу
🥰 — Усыпляет поток на один квант
⚡️ — Гарантирует переключение на UI-поток
Библиотека задач по C#
👍19👾1
Media is too big
VIEW IN TELEGRAM
🔥 Закрой пробелы в математике за 8 недель
Валишься на вопросах про математику на собесах?
Proglib Academy запускает курс «Математика для Data Science», чтобы помочь тебе получить вакансию мечты!
🔎 Тебя ждут:
→ топовые эксперты, один из них на видео — Мария Тихонова. Мария — кандидат компьютерных наук, руководитель исследовательского направления SberAI, доцент факультета компьютерных наук и преподаватель НИУ ВШЭ;
→ живые вебинары, на которых можно задать вопросы спикерам;
→ доступ к материалам в записи, если не успели на лекцию и чат;
→ 3 задания с практикой на Python и финальный проект с подробной обратной связью от экспертов курса;
→ актуальные знания: программа разработана в ноябре 2025г;
→ программа без воды — 2 месяца только самого нужного для старта.
👉 Пройди короткий тест и узнай свой уровень математики.
Приятные бонусы:
🎁 скидка 40% до 30 ноября;
🎁 оплати до конца ноября → курс «Школьная математика» в подарок.
🔗 Подробнее о курсе
Валишься на вопросах про математику на собесах?
Proglib Academy запускает курс «Математика для Data Science», чтобы помочь тебе получить вакансию мечты!
🔎 Тебя ждут:
→ топовые эксперты, один из них на видео — Мария Тихонова. Мария — кандидат компьютерных наук, руководитель исследовательского направления SberAI, доцент факультета компьютерных наук и преподаватель НИУ ВШЭ;
→ живые вебинары, на которых можно задать вопросы спикерам;
→ доступ к материалам в записи, если не успели на лекцию и чат;
→ 3 задания с практикой на Python и финальный проект с подробной обратной связью от экспертов курса;
→ актуальные знания: программа разработана в ноябре 2025г;
→ программа без воды — 2 месяца только самого нужного для старта.
👉 Пройди короткий тест и узнай свой уровень математики.
Приятные бонусы:
🎁 скидка 40% до 30 ноября;
🎁 оплати до конца ноября → курс «Школьная математика» в подарок.
🔗 Подробнее о курсе
Что означает 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#
👍28🌚4❤1