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
🤔 В чем суть оптимизации 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
28%
Использование Date()
8%
Применение SystemClock интерфейса
33%
Создание мок объекта для времени
31%
Использование TimeInterval