14 вопросов
Практика
Можешь объяснить ключевые особенности, которые делают Swift enum'ы более мощными, чем перечисления в других языках программирования, и привести примеры того, как ты бы их использовал в реальном приложении?
Можешь объяснить, как работает Automatic Reference Counting (ARC) при разработке под iOS и описать его ключевые отличия от сборки мусора, особенно в контексте циклических ссылок?
Можешь объяснить различия между strong, weak и unowned ссылками в Swift, включая то, как каждая из них влияет на управление памятью, optionality, и когда использовать каждый подход?
Как в Swift возникают retain cycles, и какие лучшие практики есть для их предотвращения с помощью weak и unowned ссылок?
Как бы ты использовал инструменты отладки Xcode для выявления retain cycle, и какие стратегии ты бы применил, чтобы его разрешить?
Как в Swift возникают утечки памяти, каковы их основные причины и какие стратегии можно использовать для их предотвращения?
Можешь объяснить ключевые различия между выделением памяти в stack и heap в Swift, включая их применение, характеристики производительности и подходы к управлению памятью?
Можешь объяснить, для чего нужен `autoreleasepool` в Swift и описать практические сценарии, где его использование было бы полезно для управления памятью?
Какие стратегии и лучшие практики нужно применять для управления выделением и освобождением памяти объектов в Objective-C, используя Manual Reference Counting (MRC)?
Можешь объяснить ключевые различия между классами и структурами в Swift, включая то, как они работают с памятью, наследованием, и когда ты бы использовал каждый тип в своём коде?
Какие основные различия между structs и classes в Swift, и когда стоит использовать каждый из них?
В Swift, какова цель ключевого слова `mutating` при использовании в методах структур, и какие ограничения оно налагает?
Можешь объяснить различие между классом и объектом в Swift и описать, как объекты создаются из определений классов?
Можешь объяснить, для чего нужны deinitializers в Swift классах, как они работают, какие у них есть ограничения и в каких случаях их использовать?