Memory Management & ARC
ARC, strong/weak/unowned, retain cycles, capture lists, витоки пам'яті, profiling
1Що таке ARC (Automatic Reference Counting) в iOS?
Що таке ARC (Automatic Reference Counting) в iOS?
Відповідь
ARC — це автоматичний механізм керування пам'яттю, який підраховує посилання на об'єкт. Компілятор автоматично вставляє виклики retain і release, усуваючи потребу в ручному керуванні. Коли лічильник посилань досягає нуля, об'єкт звільняється. ARC значно спрощує програмування для iOS, запобігаючи поширеним витокам пам'яті.
2Що таке strong reference в ARC?
Що таке strong reference в ARC?
Відповідь
Strong reference збільшує лічильник посилань об'єкта, на який вказує. За замовчуванням усі змінні є strong reference. Об'єкт залишається в пам'яті, доки хоча б одне strong reference вказує на нього. Використання надто багатьох strong reference може створити retain cycles, які перешкоджають звільненню.
3Що таке retain cycle (цикл утримання)?
Що таке retain cycle (цикл утримання)?
Відповідь
Retain cycle виникає, коли два або більше об'єктів утримують взаємні strong reference. Жоден не може бути звільнений, оскільки кожен перешкоджає лічильнику посилань іншого досягти нуля. Це створює витік пам'яті. Retain cycles запобігають, використовуючи weak або unowned reference у циклічних зв'язках.
Яку роль відіграє deinit у керуванні пам'яттю ARC?
Яка різниця між weak і unowned reference?
+19 питань зі співбесід
Інші теми співбесід iOS
Основи Swift
Основи мови Swift
Основи UIKit
Життєвий цикл UIViewController
UserDefaults & Keychain
Життєвий цикл застосунку
Auto Layout & Constraints
UITableView & UICollectionView
Основи SwiftUI
Керування станом у SwiftUI
Навігація SwiftUI
Networking & URLSession
Codable та парсинг JSON
Core Data
Протоколо-орієнтоване програмування
Архітектура MVVM
Push-сповіщення
Модульне тестування та XCTest
Тестування інтерфейсу користувача
Xcode і система збірки
Swift Package Manager
Combine Framework
Concurrency & async/await
iOS Design Patterns
Оптимізація продуктивності
Безпека та шифрування
SwiftUI Advanced
Архітектура застосунків iOS
Опануй iOS для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно