🤔 Что такое паттерн разработки — Строитель (Builder)? Строитель применяется, когда нужно пошагово создать сложный объект, избегая громоздкого конструктора с множеством параметров. Он позволяет: - Создавать разные представления одного и того же объекта. - Разделить конструирование от представления. - Собирать объект поэтапно и настраиваемо. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
C# | Вопросы собесов
Cайт easyoffer.ru Реклама @easyoffer_adv ВП @easyoffer_vp Тесты t.me/+nebTPWgpeGs1OWFi Задачи t.me/+Xy-0H7xKlgo0NDVi Вакансии t.me/+BQFHXZQ0zrViNGIy
Графики
📊 Средний охват постов
📉 ERR % по дням
📋 Публикации по дням
📎 Типы контента
Лучшие публикации
20 из 20🤔 Приведи пример паттерна строитель в С# Паттерн "Строитель" (Builder) используется для пошагового создания сложных объектов. Он удобен, когда объект имеет много параметров и возможных конфигураций. 🚩Проблема без паттерна "Строитель" Допустим, у нас есть класс Car, и мы хотим создавать машины с разными конфигурациями: public class Car { public string Engine { get; set; } public int Wheels { get; set; } public bool HasSunroof { get; set; } public override string ToString() { return $"Car: ...
🤔 Как работает threadpool? ThreadPool (пул потоков) — это механизм управления потоками в .NET, который позволяет повторно использовать созданные потоки для выполнения задач, уменьшая накладные расходы на их создание и уничтожение. 🚩Зачем нужен ThreadPool? 🟠Создание потоков — дорогостоящая операция Каждый раз создавать новый поток — медленно и неэффективно. 🟠Пул потоков позволяет повторно использовать уже созданные потоки вместо их постоянного создания и удаления. 🟠Автоматическое управление ...
🤔 Как предложить избежать deadlock'а? 1. Установить порядок захвата ресурсов и всегда придерживаться его. 2. Использовать таймауты при попытке захвата блокировок. 3. Применять неблокирующие конструкции (lock-free) или библиотеки с конкурентными коллекциями. 4. Минимизировать время удержания блокировок. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
🤔 Что такое IEnumerable? IEnumerable — это интерфейс в базовой библиотеке классов .NET Framework, который определяет один метод: GetEnumerator(). Этот метод возвращает объект IEnumerator, который позволяет перебирать элементы коллекции (например, массива или списка) один за другим. 🚩Зачем он нужен? Используется для создания универсального метода перебора данных, не зависящего от типа коллекции. Это означает, что любой тип данных, который реализует IEnumerable, можно перебирать с помощью цикла ...
🤔 Что такое метод расширения? Это статический метод, который добавляет новую функциональность к существующим классам без их изменения. Это позволяет улучшить читаемость и повторное использование кода. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
🤔 Что такое DI (инъекция зависимости)? Это способ передачи зависимостей в объект вместо их создания внутри объекта. 1. Позволяет строить слабо связанный код и облегчает тестирование. 2. Реализуется через конструкторы, свойства или методы. 3. Используется для улучшения гибкости и модульности приложений. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний
🤔 Какие минусы есть у индексов с точки зрения оптимизации? Индексы в базах данных, таких как SQL Server, MySQL или PostgreSQL, существенно улучшают производительность запросов, особенно для операций поиска, сортировки и фильтрации. Однако у индексов есть и минусы, которые могут негативно сказаться на производительности и других аспектах работы базы данных. 🟠Увеличение времени записи Индексы замедляют операции вставки (INSERT), обновления (UPDATE) и удаления (DELETE), так как при каждом изменен...
🤔 Какие объекты живут в нулевом поколении? В C# и .NET память управляется сборщиком мусора (Garbage Collector, GC), который делит объекты на три поколения 🟠Generation 0 (Gen 0, нулевое поколение) самые "молодые" объекты. 🟠Generation 1 (Gen 1, первое поколение) промежуточные объекты. 🟠Generation 2 (Gen 2, второе поколение) "долгоживущие" объекты. 🚩Какие объекты попадают в Generation 0? В Gen 0 живут "короткоживущие" объекты которые создаются и быстро уничтожаются. Это новые объекты, которые ...
🤔 Когда можно использовать using? using используется для управления объектами, реализующими интерфейс IDisposable, чтобы гарантировать освобождение ресурсов. Это удобно для работы с файлами, потоками, базами данных и другими ресурсами, требующими явного закрытия. Код внутри блока using автоматически вызывает метод Dispose для объекта, даже если возникло исключение. Ставь 👍 если знал ответ, 🔥 если нет Забирай 📚 Базу знаний