Подборка объединяет вопросы, отмеченные на этапах интервью в ВК. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: performance, hittest, ios.
Чем отличаются Array, Set и Dictionary Все три типа предназначены для хранения коллекций данных Array — индексированный упорядоченный список, в котором разрешены дубликаты Set — неупорядоченная коллекция уникальных…
GCD (Grand Central Dispatch) — системный API, предназначенный для управления потоками в iOS/macOS. После добавления задачи (block) в очередь нельзя отменить её напрямую. Для реализации отмены используют специальные…
графика, рендеринг, frontend 1 физический пиксель — это не то же самое, что 1 CSS-пиксель на ретина-дисплеях для масштабирования следует учитывать devicePixelRatio при работе с canvas нужно учитывать pixel ratio в CSS…
Как организовать переключение между координаторами Навигацией управляет архитектура координаторов Каждый координатор ведет отдельный поток, например авторизацию или главный экран приложения Корневой координатор…
обработка числа и выделение его цифр перевести число в строковое представление (например, str(number)) перебрать символы строки, рассматривая каждый из них как отдельную цифру для дальнейших вычислений преобразовать…
in-memory key-value store, применяемое для кэширования и работы баз данных горизонтально масштабируется с помощью шардинга (Cluster) Redis Cluster распределяет данные между узлами по слотам — всего предусмотрено 16384…
Как предотвратить утечки памяти в escaping-замыканиях? Escaping-замыкание продолжает существовать после завершения вызова, например в callback или async-коде Чаще всего утечку вызывают сильные ссылки на self,…
Как устроен ARC и в чём его отличие от MRC? Контекст: управление памятью в Objective-C и Swift MRC (Manual Retain-Release): разработчик самостоятельно вызывает retain и release при неверном подсчёте ссылок легко…
Как работает RunLoop в iOS-разработке? основной механизм обработки очереди событий в iOS поддерживает бесконечный цикл, в котором обрабатываются события UI, таймеры и задачи обеспечивает асинхронное выполнение задач в…
Словарь (Dictionary) — коллекция, в которой данные представлены парами ключ-значение, причём каждый ключ уникален В основе лежит хеш-таблица, обеспечивающая быстрый доступ к элементам Ключи обязаны соответствовать…
Как работают autorelease и autorelease pool? управление памятью в Objective-C autorelease: отложенное освобождение объекта autorelease pool: контейнер для объектов, ожидающих освобождения освобождение объектов…