21 вопрос
Практика
Можешь объяснить, что такое Swift как язык программирования, и описать различные платформы и операционные системы, которые он поддерживает?
Можешь объяснить ключевые различия между использованием `let` и `var` для объявления переменных в Swift и обсудить, когда ты бы выбрал один вариант вместо другого?
Можешь объяснить, как работает система type inference в Swift и привести пример того, как компилятор автоматически определяет типы переменных без явных type annotations?
Можешь объяснить, что такое tuples в Swift и описать процесс сравнения двух tuples, включая любые ограничения или особенности?
Можешь объяснить различие между оператором равенства `==` и оператором идентичности `===` в Swift, включая их применение и для каких типов они используются?
Как бы ты объяснил концепцию и реализацию перегрузки операторов в Swift младшему разработчику?
Можешь объяснить назначение и функциональность наблюдателей свойств в Swift, включая различия между блоками `willSet` и `didSet`?
Можешь ли ты объяснить различия между stored properties и computed properties в Swift, включая то, как они хранят данные, когда они вычисляют значения, и практические примеры использования каждого из них?
Можешь объяснить, что такое ленивые свойства в Swift и описать сценарии, в которых реализация ленивой инициализации была бы полезна в твоём коде?
Можешь объяснить оператор `guard` в Swift, описать, чем он отличается от `if`, и обсудить преимущества использования `guard let` для распаковки переменных с точки зрения области видимости и читаемости кода?
Можешь объяснить пять уровней управления доступом в Swift и описать область видимости и ограничения каждого из них?
В Swift, в чём разница между модификаторами доступа `public` и `open`, и когда следует использовать каждый из них?
Можешь объяснить ключевые различия между `switch` statement в Swift и традиционным `switch` statement в C, включая то, как Swift обрабатывает завершение case'ов и pattern matching?
Какие возможности и ограничения у расширений в Swift, и какие типы функциональности они могут добавлять к существующим классам или структурам?
Можешь объяснить, что такое property wrappers в Swift, как они работают, какие у них ключевые компоненты, и привести примеры встроенных и пользовательских реализаций?
Что такое result builders в Swift и как они позволяют создавать синтаксис domain-specific language (DSL)?
В каких случаях ты можешь опустить явное ключевое слово `return` в функциях Swift и связанных конструкциях?
Можешь объяснить, что такое keypaths в Swift, описать доступные типы и привести примеры практических сценариев, где они применяются в разработке?
Можешь объяснить паттерн оптимизации copy-on-write в Swift и описать, как он управляет эффективностью памяти для value types вроде Array, Dictionary и String?
Можешь объяснить, что такое opaque types в Swift, конкретно синтаксис с ключевым словом `some`, и описать практические сценарии, где они были бы полезнее, чем прямое использование типов протоколов?
Можешь объяснить, для чего нужен атрибут `@dynamicMemberLookup` в Swift и где его применяют, а также какие компромиссы он подразумевает?