Swift | Тесты
1.22K subscribers
25 photos
352 links
Cайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp

Вопросы собесов t.me/+wtkjBoN6OI5hNGEy
Задачи t.me/+JQkI4zSOEXtkYzg6
Вакансии t.me/+3o9-Ytdiv_E5OGIy
Download Telegram
🤔 Что такое Autorelease Pool?

Это механизм в iOS/macOS для управления объектами, которые получают сообщение autorelease. Объекты добавляются в пул, и их память освобождается автоматически в конце выполнения блока, чтобы избежать утечек памяти. Используется для временных объектов.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какое значение по умолчанию будет у переменной, объявленной как Optional, но не инициализированной?
Anonymous Quiz
0%
0
95%
nil
5%
undefined
0%
пустая строка
🤔 Как в Swift реализовать подсчёт ссылок в пользовательском классе без использования ARC?
Anonymous Quiz
65%
Через manual retain/release
19%
Используя структуру данных с счётчиком
15%
При помощи 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
🤔 Какой механизм позволяет структурам и классам в Swift адаптироваться к изменениям интерфейсов без изменения их кода?
Anonymous Quiz
57%
Extensions
28%
Protocols
12%
Generics
3%
Inheritance
🤔 Какие минусы ООП?

– Сложность при большом количестве классов,
– Избыточное наследование,
– Низкая гибкость при изменении структуры,
– Возможные циклы зависимостей,
– Переусложнение при решении простых задач.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift гарантировать, что строковое значение соответствует определенному шаблону при компиляции?
Anonymous Quiz
47%
Использование Regex при инициализации
25%
Применение String Interpolation
9%
Использование Literal Convertibles
19%
Применение pattern matching
🤔 Как в Swift определить функцию, возвращающую другую функцию?
Anonymous Quiz
75%
func makeIncrementer() -> () -> Int
8%
func makeIncrementer() -> func -> Int
9%
func makeIncrementer() returns () -> Int
8%
func makeIncrementer() -> Int()
🤔 Когда вызывается функция watchUpdate (WU) во Vue?

Функции наблюдателей (watch) вызываются при изменении отслеживаемого значения. Это происходит асинхронно после обновления реактивной переменной.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Чему будет равно значение переменной после выполнения выражения let result = pow(3, 2) * 2 + sqrt(16) / 2?
Anonymous Quiz
75%
20
13%
21
10%
22
1%
23
💊2
🤔 Какой модификатор доступа делает класс доступным только внутри файла в Swift?
Anonymous Quiz
0%
public
12%
private
88%
fileprivate
0%
internal
🤔 Жизненный цикл UIViewController

Жизненный цикл UIViewController включает несколько ключевых этапов:
1. `loadView` создает представление, которое контроллер управляет.
2. `viewDidLoad` вызывается после загрузки представления контроллера в память.
3. `viewWillAppear` выполняется перед тем, как представление станет видимым.
4. `viewDidAppear` вызывается после того, как представление появилось на экране.
5. `viewWillDisappear` и `viewDidDisappear` вызываются перед и после того, как представление было удалено с экрана.
6. `deinit` вызывается перед освобождением экземпляра контроллера из памяти.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🤔 Каким образом в Swift можно обеспечить безопасную многопоточную запись и чтение данных из пользовательского кэша?
Anonymous Quiz
54%
Использование DispatchQueue с барьерами
13%
Применение Thread с мьютексами
19%
Создание ReadWriteLock
14%
Использование атомарных операций
🤔 Как обеспечить, что изменения в базе данных отражаются в реальном времени на пользовательском интерфейсе приложения на Swift?
Anonymous Quiz
56%
Использование CoreData с KVO
34%
Применение библиотеки Realm с автоматическими обновлениями
10%
Ручное обновление данных через NotificationCenter
0%
Синхронизация через 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
🤔 Как система понимает, в какую вью попал тач?

Система использует метод hitTest(_:with:) для определения подходящей вью:
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
👍1
🤔 Как обеспечить в Swift безопасное выполнение кода, доступного только в новых версиях iOS?
Anonymous Quiz
18%
Проверка версии ОС перед выполнением кода
11%
Применение Swift version flags
0%
Загрузка кода во время выполнения