Anonymous Quiz
    0%
    0
      
    93%
    nil
      
    7%
    undefined
      
    0%
    пустая строка
      
    Anonymous Quiz
    63%
    Через manual retain/release
      
    22%
    Используя структуру данных с счётчиком
      
    14%
    При помощи weak переменных
      
    1%
    С использованием Unmanaged
      
    - Использовать сериализацию доступа через DispatchQueue.sync (последовательная очередь).
- Применять NSLock, os_unfair_lock или pthread_mutex.
- Использовать конкурентные очереди с барьерами (DispatchQueue.concurrent + barrier).
- Использовать встроенные потокобезопасные типы, если они доступны в библиотеке (например, ConcurrentDictionary в .NET).
- Создавать обёртки (wrapper) вокруг коллекции с контролем доступа.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Anonymous Quiz
    57%
    Extensions
      
    27%
    Protocols
      
    13%
    Generics
      
    3%
    Inheritance
      
    Anonymous Quiz
    82%
    Выполняется перед выходом из текущего блока кода
      
    2%
    Выполняется после загрузки всех классов в модуле
      
    2%
    Выполняется перед инициализацией любых переменных
      
    15%
    Выполняется сразу после входа в функцию
      
    💊1
  – Сложность при большом количестве классов,
– Избыточное наследование,
– Низкая гибкость при изменении структуры,
– Возможные циклы зависимостей,
– Переусложнение при решении простых задач.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Anonymous Quiz
    44%
    Использование Regex при инициализации
      
    25%
    Применение String Interpolation
      
    12%
    Использование Literal Convertibles
      
    19%
    Применение pattern matching
      
    Anonymous Quiz
    76%
    func makeIncrementer() -> () -> Int
      
    7%
    func makeIncrementer() -> func -> Int
      
    8%
    func makeIncrementer() returns () -> Int
      
    8%
    func makeIncrementer() -> Int()
      
    Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
    VIEW IN TELEGRAM
  Anonymous Quiz
    73%
    20
      
    13%
    21
      
    12%
    22
      
    1%
    23
      
    💊4
  Anonymous Quiz
    0%
    public
      
    12%
    private
      
    88%
    fileprivate
      
    1%
    internal
      
    1. `loadView` создает представление, которое контроллер управляет.
2. `viewDidLoad` вызывается после загрузки представления контроллера в память.
3. `viewWillAppear` выполняется перед тем, как представление станет видимым.
4. `viewDidAppear` вызывается после того, как представление появилось на экране.
5. `viewWillDisappear` и `viewDidDisappear` вызываются перед и после того, как представление было удалено с экрана.
6. `deinit` вызывается перед освобождением экземпляра контроллера из памяти.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍3
  Anonymous Quiz
    56%
    Использование DispatchQueue с барьерами
      
    10%
    Применение Thread с мьютексами
      
    20%
    Создание ReadWriteLock
      
    13%
    Использование атомарных операций
      
    Anonymous Quiz
    46%
    Использование CoreData с KVO
      
    36%
    Применение библиотеки Realm с автоматическими обновлениями
      
    16%
    Ручное обновление данных через NotificationCenter
      
    1%
    Синхронизация через iCloud
      
    В зависимости от платформы:
- GCD (Grand Central Dispatch) — диспетчер задач в iOS.
- Operation и OperationQueue.
- NSThread (устаревшее).
- DispatchQueue.async / sync.
- Thread, RunLoop.
- coroutine-подходы в других языках (например, Kotlin, Python).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍1
  Anonymous Quiz
    11%
    Отслеживание уведомлений о смене языка
      
    5%
    Перезагрузка приложения при каждом запуске
      
    23%
    Динамическая подгрузка ресурсов в зависимости от языка
      
    60%
    Использование NotificationCenter для получения уведомлений о смене настроек
      
    Anonymous Quiz
    2%
    Когда нужен наследуемый тип
      
    5%
    Когда требуется управление памятью с подсчетом ссылок
      
    73%
    Для типов, представляющих простые значения без поведенческой сложности
      
    20%
    Когда объекты должны иметь разделяемое состояние
      
    1. Начинает с верхнего окна (UIWindow).
2. Рекурсивно спускается вниз по иерархии subviews, начиная с последней в списке (она визуально выше).
3. Проверяет:
- isHidden == false
- alpha > 0.01
- isUserInteractionEnabled == true
- point(inside:with:) == true
4. Если условия выполнены — эта вью становится responder’ом.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
    VIEW IN TELEGRAM
  👍2🔥1
  Anonymous Quiz
    18%
    Проверка версии ОС перед выполнением кода
      
    73%
    Использование условной компиляции с проверкой #available
      
    9%
    Применение Swift version flags
      
    0%
    Загрузка кода во время выполнения
      
    Anonymous Quiz
    2%
    let array = [Int]()
      
    96%
    var array = [Int]()
      
    0%
    const array = [Int]()
      
    2%
    array = []
      
    – nil означает отсутствие значения (например, необязательное значение отсутствует).
– NaN (Not a Number) означает, что результат арифметической операции недопустим (например, деление нуля на ноль).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
    VIEW IN TELEGRAM
  💊1