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

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

- Использовать сериализацию доступа через DispatchQueue.sync (последовательная очередь).
- Применять NSLock, os_unfair_lock или pthread_mutex.
- Использовать конкурентные очереди с барьерами (DispatchQueue.concurrent + barrier).
- Использовать встроенные потокобезопасные типы, если они доступны в библиотеке (например, ConcurrentDictionary в .NET).
- Создавать обёртки (wrapper) вокруг коллекции с контролем доступа.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой механизм позволяет структурам и классам в Swift адаптироваться к изменениям интерфейсов без изменения их кода?
Anonymous Quiz
57%
Extensions
28%
Protocols
12%
Generics
3%
Inheritance
🤔 Какие минусы ООП?

– Сложность при большом количестве классов,
– Избыточное наследование,
– Низкая гибкость при изменении структуры,
– Возможные циклы зависимостей,
– Переусложнение при решении простых задач.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift гарантировать, что строковое значение соответствует определенному шаблону при компиляции?
Anonymous Quiz
46%
Использование Regex при инициализации
26%
Применение String Interpolation
10%
Использование Literal Convertibles
19%
Применение pattern matching
🤔 Как в Swift определить функцию, возвращающую другую функцию?
Anonymous Quiz
75%
func makeIncrementer() -> () -> Int
8%
func makeIncrementer() -> func -> Int
9%
func makeIncrementer() returns () -> Int
9%
func makeIncrementer() -> Int()
🤔 Когда вызывается функция watchUpdate (WU) во Vue?

Функции наблюдателей (watch) вызываются при изменении отслеживаемого значения. Это происходит асинхронно после обновления реактивной переменной.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Чему будет равно значение переменной после выполнения выражения let result = pow(3, 2) * 2 + sqrt(16) / 2?
Anonymous Quiz
75%
20
13%
21
11%
22
1%
23
💊2
🤔 Какой модификатор доступа делает класс доступным только внутри файла в Swift?
Anonymous Quiz
0%
public
11%
private
89%
fileprivate
0%
internal
🤔 Жизненный цикл UIViewController

Жизненный цикл UIViewController включает несколько ключевых этапов:
1. `loadView` создает представление, которое контроллер управляет.
2. `viewDidLoad` вызывается после загрузки представления контроллера в память.
3. `viewWillAppear` выполняется перед тем, как представление станет видимым.
4. `viewDidAppear` вызывается после того, как представление появилось на экране.
5. `viewWillDisappear` и `viewDidDisappear` вызываются перед и после того, как представление было удалено с экрана.
6. `deinit` вызывается перед освобождением экземпляра контроллера из памяти.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🤔 Каким образом в Swift можно обеспечить безопасную многопоточную запись и чтение данных из пользовательского кэша?
Anonymous Quiz
56%
Использование DispatchQueue с барьерами
11%
Применение Thread с мьютексами
20%
Создание ReadWriteLock
13%
Использование атомарных операций
🤔 Как обеспечить, что изменения в базе данных отражаются в реальном времени на пользовательском интерфейсе приложения на Swift?
Anonymous Quiz
52%
Использование CoreData с KVO
34%
Применение библиотеки Realm с автоматическими обновлениями
14%
Ручное обновление данных через NotificationCenter
0%
Синхронизация через iCloud
🤔 Какие есть инструменты для работы с потоками?

В зависимости от платформы:
- GCD (Grand Central Dispatch) — диспетчер задач в iOS.
- Operation и OperationQueue.
- NSThread (устаревшее).
- DispatchQueue.async / sync.
- Thread, RunLoop.
- coroutine-подходы в других языках (например, Kotlin, Python).


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

Система использует метод hitTest(_:with:) для определения подходящей вью:
1. Начинает с верхнего окна (UIWindow).
2. Рекурсивно спускается вниз по иерархии subviews, начиная с последней в списке (она визуально выше).
3. Проверяет:
- isHidden == false
- alpha > 0.01
- isUserInteractionEnabled == true
- point(inside:with:) == true
4. Если условия выполнены — эта вью становится responder’ом.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
🤔 Как обеспечить в Swift безопасное выполнение кода, доступного только в новых версиях iOS?
Anonymous Quiz
17%
Проверка версии ОС перед выполнением кода
10%
Применение Swift version flags
0%
Загрузка кода во время выполнения
🤔 Как в Swift создать массив, который может изменяться после создания?
Anonymous Quiz
3%
let array = [Int]()
95%
var array = [Int]()
0%
const array = [Int]()
3%
array = []
🤔 В чём разница между nil и NaN?

– nil означает отсутствие значения (например, необязательное значение отсутствует).
– NaN (Not a Number) означает, что результат арифметической операции недопустим (например, деление нуля на ноль).


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой метод в Swift используется для создания пользовательской последовательности, которая лениво вычисляет свои элементы по мере итерации?
Anonymous Quiz
11%
iterate(over:)
0%
generate()
67%
lazy()
22%
sequence(first:next:)