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

Вопросы собесов t.iss.one/+wtkjBoN6OI5hNGEy
Задачи t.iss.one/+JQkI4zSOEXtkYzg6
Вакансии t.iss.one/+3o9-Ytdiv_E5OGIy
Download Telegram
🤔 Какой оператор используется для приведения типов в Swift, который может выбросить ошибку, если приведение не удалось?
Anonymous Quiz
65%
as?
27%
as!
6%
cast
1%
to
💊2👍1
🤔 Как добавить авторизацию через 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
44%
Encodable
18%
Serializable
34%
Decodable
5%
Mappable
🤔 Счётчик ссылок дошёл до нуля — в какой момент удалим объект?

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
🤔 Как реализовать строгий контроль типов при передаче сообщений между различными компонентами приложения в Swift?
Anonymous Quiz
63%
Использование протоколов и делегатов
12%
Применение универсальных шаблонов
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
32%
Использование lazy свойств
35%
Применение debounce техники
25%
Отложенные вычисления с DispatchQueue
8%
Использование 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
15%
Применение atomic properties
41%
Использование DispatchQueue
33%
Применение NSLock
🤔 Какой тип коллекции в Swift допускает хранение дублирующихся значений?
Anonymous Quiz
11%
Set
78%
Array
10%
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
20%
Использование Synchronization
18%
Применение Encapsulation
19%
Использование State Containers
43%
Применение Thread-safe Wrappers
🤔 Что происходит при попытке доступа к элементу массива по индексу, который выходит за пределы массива?
Anonymous Quiz
13%
Возвращается nil
7%
Возвращается последний элемент массива
76%
Программа выбрасывает ошибку выполнения
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
70%
Абстрактная фабрика (Abstract Factory)
13%
Одиночка (Singleton)
7%
Наблюдатель (Observer)
10%
Стратегия (Strategy)
🔥1
🤔 Синхронизация разных типов NSManagedObjectContext (получение и изменение данных в child-контекстах)?

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM