14 вопросов
Практика
Можешь ли ты объяснить, что такое closures в Swift, включая то, как они захватывают переменные из окружающего контекста и как они связаны с функциями?
Можешь объяснить, что такое optionals в Swift и описать их роль в поддержании type safety в языке?
Какие рекомендуемые способы безопасно разворачивать optional значения в Swift и какие лучшие практики для каждого подхода?
Можешь объяснить, как работает optional chaining в Swift и описать поведение при обращении к свойствам или методам на опциональных значениях?
Как работает оператор объединения nil (`??`) в Swift, и каковы его варианты использования?
Можешь объяснить, что такое implicitly unwrapped optional в Swift? Включи в ответ, как это объявляется, когда это нужно использовать и что происходит, если получить доступ к такому значению до того, как ему будет присвоено значение?
Можешь объяснить механизм обработки ошибок в Swift, включая использование `throws`, `try`, `catch` и протокол `Error`, а также различия между `try`, `try?` и `try!`?
Можешь объяснить структуру и назначение типа `Result` в Swift? Расскажи о его двух cases и типичных сценариях использования.
Можешь объяснить различия между операторами `try`, `try?` и `try!` в Swift, включая то, когда каждый из них следует использовать?
Можешь объяснить, что такое trailing closure в Swift и описать, как это улучшает читаемость кода?
Можешь объяснить основные различия между escaping и non-escaping замыканиями в Swift, включая их время жизни, случаи использования и специальные требования для каждого типа?
Можешь объяснить, что такое autoclosure в Swift и как он позволяет реализовать ленивое вычисление выражений?
Можешь объяснить, что такое функции высшего порядка в Swift, и привести примеры часто используемых функций высшего порядка, таких как `map`, `filter` и `reduce`?
Как работают capture lists в замыканиях Swift и в чём различия между strong, weak и unowned семантиками захвата при предотвращении retain cycles?