Подборка объединяет вопросы, отмеченные на этапах интервью в МТС. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: python, backend, devops.
Да, при многопоточном программировании в iOS часто возникает необходимость защищать переменные от конкурентного доступа, чтобы избежать состояния гонки и неконсистентных данных.
Использование слабой ссылки (weak self) внутри замыканий в iOS не всегда обязательно, но часто необходимо для предотвращения циклов сильных ссылок (retain cycles).
Принципы SOLID в большинстве стандартных библиотек Apple соблюдаются на высоком уровне. Однако, можно найти примеры, где их применение не так строго или имеет исключения:
В GCD (Grand Central Dispatch) для устранения гонок при конкурентной работе потоков используют синхронизацию доступа к общим ресурсам. Основные подходы:
Copy-on-write (COW) — это оптимизация управления памятью, при которой несколько объектов изначально ссылаются на одни и те же данные, а копирование происходит только при попытке изменить эти данные.