Swift | Тесты
1.25K subscribers
27 photos
1 video
462 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 реализовать безопасную обработку потенциально больших данных без блокировки UI?
Anonymous Quiz
11%
Применение OperationQueue с лимитом операций
6%
Использование NSOperation с приоритетом
26%
Применение background execution
🤔 Как в Swift можно оптимизировать расчеты, зависящие от пользовательского ввода, минимизируя задержку и нагрузку?
Anonymous Quiz
33%
Использование lazy свойств
35%
Применение debounce техники
24%
Отложенные вычисления с 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
14%
Применение atomic properties
43%
Использование DispatchQueue
32%
Применение 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
20%
Использование Synchronization
17%
Применение Encapsulation
18%
Использование State Containers
45%
Применение 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
71%
Абстрактная фабрика (Abstract Factory)
12%
Одиночка (Singleton)
6%
Наблюдатель (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
🔥1
🤔 Как в Swift протестировать код, который зависит от текущего времени, не изменяя системные часы?
Anonymous Quiz
32%
Использование Date()
8%
Применение SystemClock интерфейса
37%
Создание мок объекта для времени
24%
Использование TimeInterval
🤔 Как называется свойство, которое возвращает количество символов в строке?
Anonymous Quiz
18%
length
3%
size
76%
count
4%
capacity
🤔 Каким образом подключая интерфейс мы получаем поведение?

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


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой метод в Swift гарантирует, что изменения состояния объекта происходят атомарно?
Anonymous Quiz
26%
sync
49%
atomic
12%
barrier
13%
lock
💊2
🤔 Как в Swift оптимизировать производительность цикла обработки большого массива данных?
Anonymous Quiz
9%
Использование for-in
31%
Применение forEach
31%
Использование parallelMap
29%
Применение map
🤔 Чем отличается rebase от merge?

rebase переписывает историю, применяя изменения вашей ветки поверх целевой ветки, создавая линейную историю. merge объединяет две ветки, сохраняя историю обеих, что может привести к дополнительным коммитам при конфликте.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift эффективно обновить каждый элемент массива без изменения оригинального массива?
Anonymous Quiz
20%
array.forEach { }
13%
array.update { }
7%
array.modify { }
🤔 Каким образом в Swift можно программно изменить поведение метода класса при наследовании без изменения исходного кода?
Anonymous Quiz
20%
Использование method swizzling
7%
Применение subclassing
20%
Создание расширения класса с новой реализацией метода
52%
Оверрайдинг метода в подклассе