Подборка объединяет вопросы, отмеченные на этапах интервью в Avito. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: mobile, go, frontend.
Сборщик мусора (GC) автоматически определяет и освобождает память, занимаемую объектами, на которые больше нет активных ссылок. Работает асинхронно или в определенные моменты выполнения.
В iOS Gesture Recognizer распознаёт жесты пользователя (например, тап, свайп) и при их обнаружении отправляет событие в цепочку обработчиков (Responder Chain). Взаимодействие реализуется так:
Метод setNeedsLayout помечает вью как требующую обновления компоновки, но сам вызов обновления происходит асинхронно — в следующем цикле обновления интерфейса.
Метод layoutSubviews в iOS вызывается, когда необходимо обновить расположение и размеры дочерних представлений (subviews) внутри текущего представления (UIView).
В UserDefaults рекомендуется сохранять небольшие, простые данные, которые нужны приложению для настройки и пользовательских предпочтений. Это могут быть:
Side Table — это вспомогательная структура данных, используемая в iOS (Objective-C и Swift) для динамического добавления свойств к объектам без изменения их исходного класса.
Слабые (weak) и несобственнические (unowned) ссылки используются для предотвращения циклов удержания объектов в памяти, которые могут привести к утечкам.
Хранение состояния фона в системах, например в iOS, позволяет приложению сохранять важные данные и контекст работы, когда оно переходит в фоновый режим.