Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Что такое Black/Grey/White Box Testing?
Black Box Testing: тестировщик проверяет функциональность без знания внутренней структуры кода.
White Box Testing: тестирование с полным доступом к исходному коду.
Grey Box Testing: частичное знание структуры системы, что позволяет комбинировать подходы Black и White Box.
Как работает хит-тест (hitTest) для определения нажатия на кнопку?
При касании iOS вызывает hitTest(_:with:) у корневой вью, которая рекурсивно спускается по иерархии: проверяет point(inside:) для каждого сабвью в обратном порядке z-оси. Первый вью, чей point(inside:) возвращает true, получает событие. Таким образом определяется конечная цель касания.
Как работает Responder Chain и метод hitTest?
Когда пользователь касается экрана, UIKit вызывает у корневой UIWindow метод hitTest(_:with:), который рекурсивно спускается по сабвью, вызывая для каждой point(inside:with:). Первый вью, где точка находится внутри, возвращается как целевая, и далее событие проходит по цепочке Responder Chain: от вью к её контроллеру, затем к суперреспондам (nextResponder), пока не будет обработано.
Знакомы ли вы с чистой архитектурой (Clean Architecture)?
Clean Architecture — это архитектурный подход, который разделяет систему на слои с четкими правилами зависимостей. Главная цель — сделать бизнес-логику независимой от UI, базы данных или внешних фреймворков. Это достигается за счет разделения на Domain (бизнес-логика), Data (работа с данными) и Presentation (UI) слои. Зависимости направлены от внешних слоев (UI) к внутренним (бизнес-правила), что облегчает тестирование и поддержку.
Как может быть организовано получение данных из сети с использованием принципов Clean Architecture?
Получение данных начинается с вызова use case в domain-слое, который обращается к репозиторию. Репозиторий использует data sources для выполнения сетевых запросов, преобразует DTO в доменные модели и передаёт результат обратно. Presentation-слой получает готовые данные, не зная деталей сети. Такой подход обеспечивает максимальную изоляцию и гибкость.
Чем hitTest(_:with:) отличается от point(inside:with:)?
Что такое hit-testing?
Рейтинг:
5
Сложность:
8
point(inside:with:) отвечает только на вопрос, попадает ли точка внутрь view. hitTest(_:with:) определяет, какая именно view должна обработать событие. Первый метод — это фильтр, второй — механизм поиска. Их часто переопределяют вместе, но назначение у них принципиально разное.
Рейтинг:
5
Сложность:
6
Hit-testing — это процесс определения view, находящегося под точкой касания. UIKit рекурсивно проходит иерархию view, начиная с окна. Проверяются видимость, прозрачность и возможность взаимодействия. В результате выбирается самое вложенное view, подходящее под условия. Именно оно первым получает событие.
Рейтинг:
3
Сложность:
6
Рейтинг:
2
Сложность:
5
Рейтинг:
2
Сложность:
6
Рейтинг:
3
Сложность:
8
Рейтинг:
5
Сложность:
7