Подборка объединяет вопросы, отмеченные на этапах интервью в ВК. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: performance, hittest, ios.
Назначение и практическое применение DispatchGroup и DispatchBarrier инструменты GCD (Grand Central Dispatch), предназначенные для управления асинхронными операциями в iOS/macOS DispatchGroup объединяет несколько…
область применения: Swift, замыкания @escaping указывает, что замыкание сохраняется за пределами тела функции благодаря этому замыкание может выполниться после завершения функции модификатор необходим для асинхронных…
Наследование и назначение Hashable Протокол Hashable обеспечивает поддержку хеширования ключей в словарях и множествах Он наследуется от протокола Equatable Протокол Equatable реализует оператор ==, который позволяет…
Высокоуровневая абстракция над потоками с удобным объектным API Поддержка приоритетов и настройка зависимостей между задачами Возможность отменять и приостанавливать операции Поддержка наблюдателей и KVO для контроля…
Почему []rune эффективнее прямой конкатенации строк? строки в Go неизменяемы при конкатенации создаются новые копии строк — это требует много памяти []rune представляет собой изменяемый массив символов (runes)…
Почему выбирают UIKit, а не SwiftUI? UIKit — зрелый фреймворк с полноценной поддержкой iOS SwiftUI — сравнительно новая технология, рассчитанная на iOS 13+ UIKit обеспечивает детальный контроль над UI и анимациями…
В основе словаря лежит хеш-таблица Hashable вычисляет хеш-код ключа, по которому определяется индекс Equatable позволяет проверять равенство ключей при возникновении коллизий Хеш-код ускоряет поиск, добавление и…
Почему кнопка может не реагировать на нажатия? UI/UX: кнопка отключена (disabled) либо скрыта с помощью стилей События: обработчик событий отсутствует, привязан неправильно или не вызывается Перекрытие: кнопку может…
В большинстве языков строки являются иммутабельными, то есть неизменяемыми При каждой конкатенации создаётся новый массив байт, куда копируются исходные данные Внутри цикла это приводит к постоянному выделению памяти…
Ключевое различие асинхронности и многопоточности асинхронность работает в одном потоке и запускает операции неблокирующе многопоточность задействует несколько потоков для параллельного выполнения асинхронная модель…
dispatch_sync и dispatch_async dispatch_sync выполняет вызов синхронно: текущий поток блокируется до окончания задачи dispatch_async выполняет вызов асинхронно: управление возвращается сразу, а задача помещается в…