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
🤔 В чем суть оптимизации 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 свойств
34%
Применение 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
9%
Использование synchronization
15%
Применение atomic properties
42%
Использование DispatchQueue
34%
Применение NSLock
🤔 Какой тип коллекции в Swift допускает хранение дублирующихся значений?
Anonymous Quiz
10%
Set
79%
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
21%
Использование Synchronization
18%
Применение Encapsulation
19%
Использование State Containers
42%
Применение 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
74%
0
23%
nil
1%
-1
1%
1
👍1
🤔 Как называется паттерн проектирования, который используется для создания семейства связанных объектов, не привязываясь к конкретным классам?
Anonymous Quiz
69%
Абстрактная фабрика (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
🤔 Как в Swift протестировать код, который зависит от текущего времени, не изменяя системные часы?
Anonymous Quiz
30%
Использование Date()
6%
Применение SystemClock интерфейса
38%
Создание мок объекта для времени
26%
Использование TimeInterval
🤔 Как называется свойство, которое возвращает количество символов в строке?
Anonymous Quiz
18%
length
3%
size
75%
count
3%
capacity
🤔 Каким образом подключая интерфейс мы получаем поведение?

Протокол (интерфейс) описывает поведение, а при подключении к нему класс или структура обязываются реализовать методы, тем самым приобретая определённое поведение. Это форма абстракции и инверсии управления.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой метод в Swift гарантирует, что изменения состояния объекта происходят атомарно?
Anonymous Quiz
17%
sync
57%
atomic
13%
barrier
13%
lock