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

Вопросы собесов t.me/+wtkjBoN6OI5hNGEy
Задачи t.me/+JQkI4zSOEXtkYzg6
Вакансии t.me/+3o9-Ytdiv_E5OGIy
Download Telegram
🤔 Что происходит в системе, когда мы тапаем по экрану?

Когда пользователь касается экрана, происходит следующий процесс:
1. Аппаратный слой (дисплей) фиксирует касание и передаёт его в iOS.
2. Система генерирует объект события (UIEvent, UITouch).
3. Событие передаётся в главное окно (UIWindow) и далее — вью-контроллерам и иерархии UIView.
4. Система запускает hit-testing — определяет, какая вьюшка находится под точкой касания.
5. Вызываются методы:
- hitTest(_:with:) — определяет целевую вью.
- touchesBegan(_:with:), touchesMoved, touchesEnded — передают событие в конкретную вью.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift обеспечить, что операции чтения и записи к свойству будут атомарными?
Anonymous Quiz
45%
Использование atomic свойств
18%
Применение DispatchQueue с барьером
35%
Использование NSLock
2%
Применение volatile
💊3
🤔 Какое ключевое слово используется для объявления свойства, которое доступно только для чтения?
Anonymous Quiz
74%
let
21%
readonly
4%
const
1%
var
🤔 Какой тип у Operation по умолчанию?

По умолчанию Operation — это одноразовая, неблокирующая, однопоточная операция, реализуемая через BlockOperation или кастомный подкласс Operation. Её тип — абстрактный базовый класс, от которого нужно наследоваться или использовать конкретные реализации (например, BlockOperation). По умолчанию операция выполняется синхронно, пока не будет помещена в OperationQueue, где она становится асинхронной.


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

Опционалы позволяют безопасно выражать возможность отсутствия значения (nil) на уровне типов. Это предотвращает случайные ошибки и делает код более предсказуемым.


Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Как в Swift реализовать стратегию ленивой инициализации для глобальных ресурсов, требующих сложной настройки?
Anonymous Quiz
44%
Использование lazy var
23%
Применение singleton с ленивой инициализацией
15%
Создание static фабричного метода с кэшированием
17%
Определение глобальной lazy функции
🤔 Как писать код так, чтобы с точки зрения динамической диспетчеризации код работал быстро?

Избегать dynamic,
@objc, использования Any и протоколов с @objc. Использовать final классы, struct, enum — они компилируются с статическим вызовом и быстрее обрабатываются.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой механизм в Swift позволяет обработать несколько асинхронных задач и дождаться их завершения?
Anonymous Quiz
64%
DispatchGroup
25%
AsyncAwait
11%
OperationQueue
0%
CompletionHandler