Библиотека задач по C# | тесты, код, задания
Открыть в Telegram
Задачи и тесты по C# для тренировки и обучения. Учиться у нас: https://clc.to/3e1SCw По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot Наши каналы: https://t.me/proglibrary/9197
Больше4 963
Подписчики
+324 часа
-47 дней
-2930 день
Архив постов
Почему Task.Result/.Wait() могут «вешать» UI/ASP.NET classic?
👾 — Потому что Task требует STA-поток
👍 — Из-за захвата SynchronizationContext: продолжение ждёт UI-поток, который блокирует синхронное ожидание
🥰 — Потому что GC останавливает мир на ожидании
⚡️ — Потому что Result всегда делает бесконечный spinwait
Библиотека задач по C#
Зачем помечать override как sealed?
👾 — Чтобы запретить вызов из другого домена
👍 — Чтобы запретить дальнейшее переопределение и дать JIT шанс де-виртуализировать/инлайнить метод
🥰 — Чтобы сделать метод static
⚡️ — Это обязательно для всех virtual в Release
Библиотека задач по C#
Каковы отличия между Finalize и Dispose?
Dispose предоставляет явный контроль над ресурсами, которые использует объект, в то время как Finalize работает неявно и управляется сборщиком мусора.
Библиотека задач по C#
Операторы присваивания не могут быть перегружены.
👍 — Правда
👾 — Ложь
Библиотека задач по C#
Что выведет код?
👾 — 0
👍 — No value
🥰 — null
⚡️ — Error
Библиотека задач по C#
Что выведет код?
👾 — 0
👍 — No value
🥰 — null
⚡️ — Error
Библиотека задач по C#
Что важно для ключей Dictionary<TKey, TValue> при TKey-структуре?
👾 — Переопределять только ToString()
👍 — Иммутабельность и корректные Equals/GetHashCode без зависимости от изменяемых полей
🥰 — Разрешить менять поля после вставки — хеш пересчитается автоматически
⚡️ — Достаточно реализовать IComparable<T>
Библиотека задач по C#
✨ Halloween Special — последний день магии! 👻
Успевай сегодня купить курсы со скидкой 40%!
А также участвуй в розыгрыше MacBook Pro 14 💻
После полуночи останется только тыква 🎃
🔮 Открой портал и выбери курс
Почему lock(this) — антипаттерн?
👾 — Блокирует сборщик мусора
👍 — Публичный монитор: внешний код может тоже его захватить → риск дедлоков; используйте приватный объект (private readonly object _gate = new();)
🥰 — Потому что this не является ссылочным типом
⚡️ — Потому что lock — это всегда spinlock без ожидания
Библиотека задач по C#
Зачем указывать RunContinuationsAsynchronously у TaskCompletionSource?
👾 — Чтобы продолжения выполнялись синхронно при SetResult
👍 — Чтобы не исполнять продолжения синхронно в потоке SetResult, а планировать их асинхронно, избегая дедлоков и глубоких стеков
🥰 — Чтобы запретить отмену задач
⚡️ — Чтобы обойти планировщик и ускорить завершение
Библиотека задач по C#
C#-навигация прямо в браузере? Да, теперь и такое есть! 👀
Для тех, кто работает с C#, приятные новости от SourceCraft. Платформа добавила умную навигацию, которая понимает связи между функциями и позволяет переходить по объявлениям прямо в веб-интерфейсе — как в вашей любимой IDE. 🔥
А ИИ-ассистент теперь дописывает методы на C
не изолированно, а в контексте всего проекта. Для команд с разнесёнными код-ревью или для быстрого онбординга новичков — просто находка. Можно даже коммитить правки из браузера, не теряя типизацию.
Когда уместно async void?
👾 — Для «fire-and-forget» в сервисах
👍 — Только для обработчиков событий; в остальном возвращайте Task
🥰 — Чтобы скрывать исключения из вызвавшего кода
⚡️ — Когда нужно вернуть значение синхронно
Библиотека задач по C#
Зачем использовать IHttpClientFactory вместо создания нового HttpClient на каждый запрос?
👾 — Чтобы отключить DNS-кеш и ускорить повторы
👍 — Чтобы переиспользовать SocketsHttpHandler, избежать socket exhaustion и централизовать политики таймаутов/ретраев
🥰 — Чтобы все запросы шли через один и тот же IP
⚡️ — Чтобы сделать запросы синхронными и без аллокаций
Библиотека задач по C#
Каковы особенности переменных, доступных только для чтения?
👾 — Инициализируются во время выполнения
👍 — Могут использоваться со статическими модификаторами
🥰 — Объявляются только на уровне класа
🥱 — Все вышеперечисленное
Библиотека задач по C#
Каковы особенности переменных, доступных только для чтения?
Инициализируются во время выполнения
🤔 Как ускорить браузер
Закрой все вкладки со словами «MacBook», «купить ноутбук», «ноут в рассрочку». Потому что у нас есть решение лучше.
🔥 Proglib разыгрывает MacBook Pro 14. Формула простая: покупаешь любой курс до 15 ноября → учишься 2 недели → пишешь куратору #розыгрыш
Пока у тебя открыто 147 вкладок с ценами, кто-то уже прокачивает скилы и может забрать приз.
👉🏻 Выбрать курс для участия
Какова амортизированная сложность m операций union/find с union by rank + path compression?
👾 — O(m log n)
👍 — O(m α(n))
🥰 — O(mn)
🥱 — O(m)
Кстати, у нас сейчас действует 40% скидка на курс Алгоритмы и структуры данных.
Библиотека задач по C#
Какой компонент пользовательского интерфейса рекомендуется для текстов в Unity?
👾 — Встроенный текст Unity
👍 — Text Mesh Pro
🥰 — 1 & 2
🥱 — Ни один из вышеперечисленных
Библиотека задач по C#
🎲 Знаешь, что хуже всего на собесе?
Когда задают простой вопрос, а ты не можешь ответить.
🤔 Это ощущение, когда понимаешь:
«Блин, я это знаю... вроде... сейчас...»От «я знаю...» до «сейчас объясню!» всего один курс. ✅ Алгоритмы и структуры данных — от Big O до задач криптографии. ✅ Python для разработчиков — пиши чистый и эффективный код. ✅ Архитектуры и шаблоны — строй системы, которые масштабируются. ✅ Основы IT — всё необходимое для входа в профессию. Выбирай любой и забирай со скидкой 40% только до конца октября. 🔗 Выбрать курс
Когда оправдан ValueTask?
👾 — Всегда лучше Task
👍 — Когда результат часто готов синхронно — ради уменьшения аллокаций; повторное ожидание недопустимо
🥰 — Можно ждать сколько угодно раз
⚡️ — Нужен для IAsyncDisposable
Библиотека задач по C#
