Специализация
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 в телеграм
Что такое RunLoop в контексте iOS-разработки?
RunLoop — это цикл, который обрабатывает события (тапы, таймеры, сетевые запросы) в потоке. Главный поток iOS имеет RunLoop по умолчанию.
Какие виды очередей (queues) существуют в iOS?
Основные типы:
Main queue
Global queues (concurrent)
Custom serial queues
Какой минимальный таргет iOS используется для SwiftUI?
SwiftUI появился в iOS 13, поэтому минимальный таргет для использования базовых возможностей — iOS 13. Некоторые новые фичи SwiftUI требуют iOS 14, 15 или 16, но для базового UI достаточно iOS 13.
Что используется для многопоточности в iOS-разработке?
Основные инструменты для многопоточности в iOS:
Grand Central Dispatch (GCD): API для управления потоками, который предоставляет очереди для выполнения задач (например, DispatchQueue).
Operation и OperationQueue: Более высокоуровневая абстракция для управления задачами.
Swift Concurrency (async/await): Современный способ работы с асинхронными задачами, введенный в Swift 5.5.
Что такое iostream в C++?
iostream — это заголовочный файл стандартной библиотеки C++, который определяет потоки ввода и вывода, такие как cin (ввод) и cout (вывод).
Какие возможности фонового выполнения появились, начиная с iOS 13?
Какие подходы для персистентного хранения данных в iOS вы знаете?
Опишите жизненный цикл приложения iOS
Какие существуют способы сохранения данных в iOS?
Какие проблемы многопоточности встречаются на iOS?
Рейтинг:
2
Сложность:
7
Начиная с iOS 13, фоновое выполнение сильно ограничено и разрешено только для конкретных, одобренных Apple сценариев. Основные возможности: обработка событий Bluetooth (подключение/обмен данными с аксессуарами), обновления Core Location (значимые изменения местоположения или посещения регионов), завершение фоновых URLSession задач (загрузка/отправка данных) и работа с HealthKit (чтение/запись данных о здоровье). Для общих фоновых задач теперь используется BGTaskScheduler.
Рейтинг:
2
Сложность:
8
UserDefaults — для хранения небольших простых настроек. Keychain — для безопасного хранения конфиденциальных данных (пароли, токены). FileManager — для работы с файлами и папками в песочнице приложения (документы, изображения). Core Data — мощный фреймворк для работы с объектными графами и сложными данными, с поддержкой SQLite. Realm — сторонняя база данных, альтернатива Core Data, с простым API.
Рейтинг:
2
Сложность:
8
Жизненный цикл приложения iOS состоит из пяти основных состояний. Not Running — приложение не запущено. Inactive — приложение работает на переднем плане, но не получает события (например, во время входящего звонка). Active — приложение активно и работает нормально. Background — приложение находится в фоне, но может выполнять код. Suspended — приложение находится в фоне, но код не выполняется; система может завершить его для освобождения памяти.
Рейтинг:
2
Сложность:
6
Основные способы:
UserDefaults
FileManager
Keychain
Core Data
SQLite
Codable + JSON
Рейтинг:
3
Сложность:
6
Типичные проблемы:
Состояние гонки
Взаимные блокировки
Неправильный доступ к UI
Утечки памяти из-за циклов удержания
Рейтинг:
2
Сложность:
5
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
7
Рейтинг:
2
Сложность:
4