Подборка объединяет вопросы, отмеченные на этапах интервью в Яндекс Маркет. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: channels, concurrency, goroutines.
GCD (Grand Central Dispatch) — это технология Apple для управления многопоточностью и асинхронным выполнением задач. При реализации GCD используются несколько парадигм:
Взаимная блокировка (deadlock) возникает, когда несколько потоков ждут освобождения ресурсов друг другом, и ни один не может продолжить работу. Чтобы устранить или предотвратить deadlock, применяют следующие подходы:
Да, в iOS возможна отмена выполнения задачи, если задача поддерживает отмену. Например, при использовании URLSessionDataTask можно вызвать метод cancel(), чтобы остановить загрузку.
Алгоритм поиска наибольшего общего делителя (НОД, GCD) оперирует с целыми числами. Основные данные — это два целых числа, для которых нужно найти максимальный делитель, который без остатка делит оба числа.