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

Вопросы собесов t.iss.one/+wtkjBoN6OI5hNGEy
Задачи t.iss.one/+JQkI4zSOEXtkYzg6
Вакансии t.iss.one/+3o9-Ytdiv_E5OGIy
Download Telegram
🤔 Как добавить авторизацию через Apple?

Нужно использовать фреймворк AuthenticationServices и ASAuthorizationAppleIDProvider. Также требуется настроить Apple Sign In в консоли разработчика и добавить Sign in with Apple в Capabilities проекта.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
🤔 Какой протокол в Swift используется для сериализации объектов в внешние представления, такие как JSON?
Anonymous Quiz
43%
Encodable
18%
Serializable
34%
Decodable
5%
Mappable
🤔 Счётчик ссылок дошёл до нуля — в какой момент удалим объект?

Как только счётчик ссылок объекта становится равным нулю, ARC немедленно освобождает память. Удаление происходит автоматически в этот момент, и вызывается деинициализатор (deinit), если он реализован.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
🤔 Как реализовать строгий контроль типов при передаче сообщений между различными компонентами приложения в Swift?
Anonymous Quiz
65%
Использование протоколов и делегатов
11%
Применение универсальных шаблонов
18%
Использование typealias для определения типов сообщений
7%
Применение модели EventBus с типизацией
🤔 В чем суть оптимизации copy on write?

Copy on Write (COW) — это оптимизация, которая откладывает копирование данных до тех пор, пока они не будут изменены. В Swift, структуры и коллекции используют эту технику, чтобы избежать ненужных копий, если данные остаются неизменными. Когда структура или коллекция копируется, реальное копирование происходит только при попытке изменить данные, что снижает накладные расходы. Это помогает улучшить производительность и снизить использование памяти.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift реализовать безопасную обработку потенциально больших данных без блокировки UI?
Anonymous Quiz
12%
Применение OperationQueue с лимитом операций
6%
Использование NSOperation с приоритетом
25%
Применение background execution
🤔 Как в Swift можно оптимизировать расчеты, зависящие от пользовательского ввода, минимизируя задержку и нагрузку?
Anonymous Quiz
33%
Использование lazy свойств
34%
Применение debounce техники
24%
Отложенные вычисления с DispatchQueue
9%
Использование Operation с приоритетом
🤔 Как многопоточность работает с UIKit?

UIKit работает только в главном потоке (Main Thread). Если нужно выполнить тяжелую задачу (сетевой запрос, обработку данных):
- Используют
DispatchQueue.global(qos:) (фоновый поток).
- После выполнения обновляют UI через DispatchQueue.main.async {}.
Если попытаться обновить UI в фоновом потоке, возможны ошибки или некорректное поведение.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
🤔 Как в Swift реализовать безопасный доступ к многопоточным ресурсам?
Anonymous Quiz
10%
Использование synchronization
14%
Применение atomic properties
42%
Использование DispatchQueue
35%
Применение NSLock
🤔 Какой тип коллекции в Swift допускает хранение дублирующихся значений?
Anonymous Quiz
10%
Set
79%
Array
9%
Dictionary
1%
Tuple
🔥1
🤔 Какого типа очереди main и global?

- DispatchQueue.main — serial очередь, исполняется на главном потоке;
-
DispatchQueue.global() — concurrent очередь, исполняется в пуле фоновых потоков GCD.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift можно инкапсулировать и изолировать изменения состояния объекта, обеспечивая при этом его потокобезопасность?
Anonymous Quiz
22%
Использование Synchronization
19%
Применение Encapsulation
18%
Использование State Containers
41%
Применение Thread-safe Wrappers
🤔 Что происходит при попытке доступа к элементу массива по индексу, который выходит за пределы массива?
Anonymous Quiz
9%
Возвращается nil
4%
Возвращается последний элемент массива
82%
Программа выбрасывает ошибку выполнения
4%
Возвращается пустой массив
🔥1
🤔 Что будет, если в AppDelegate в основном потоке вызвать DispatchQueue.main.sync?

Произойдёт взаимная блокировка (deadlock), так как main.sync будет ждать сам себя, что приведёт к зависанию приложения. Вызов sync на текущей очереди — распространённая ошибка.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какое значение будет у свойства count для пустого массива?
Anonymous Quiz
75%
0
23%
nil
1%
-1
1%
1
👍1
🤔 Как называется паттерн проектирования, который используется для создания семейства связанных объектов, не привязываясь к конкретным классам?
Anonymous Quiz
74%
Абстрактная фабрика (Abstract Factory)
11%
Одиночка (Singleton)
5%
Наблюдатель (Observer)
11%
Стратегия (Strategy)
🔥1
🤔 Синхронизация разных типов NSManagedObjectContext (получение и изменение данных в child-контекстах)?

Дочерние контексты позволяют изолированно вносить изменения и сохранить их поэтапно:
1.
childContext.save() — изменения переходят в parentContext.
2.
parentContext.save() — данные сохраняются в хранилище (persistent store).
Это удобно, например, для редактирования данных, которые не нужно сразу сохранять. Также это помогает избежать конфликтов при работе с несколькими фоновыми задачами.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift протестировать код, который зависит от текущего времени, не изменяя системные часы?
Anonymous Quiz
29%
Использование Date()
8%
Применение SystemClock интерфейса
34%
Создание мок объекта для времени
29%
Использование TimeInterval