Memory Management & ARC
ARC, strong/weak/unowned, retain cycles, capture lists, memory leaks, profiling
1Qu'est-ce qu'ARC (Automatic Reference Counting) dans iOS ?
Qu'est-ce qu'ARC (Automatic Reference Counting) dans iOS ?
Réponse
ARC est un mécanisme automatique de gestion mémoire qui compte les références à un objet. Le compilateur insère automatiquement les appels retain et release, éliminant le besoin de gestion manuelle. Lorsque le nombre de références atteint zéro, l'objet est désalloué. ARC simplifie considérablement la programmation iOS en évitant les fuites mémoire courantes.
2Qu'est-ce qu'une strong reference en ARC ?
Qu'est-ce qu'une strong reference en ARC ?
Réponse
Une strong reference augmente le compteur de références de l'objet pointé. Par défaut, toutes les variables sont des strong references. L'objet reste en mémoire tant qu'au moins une strong reference le pointe. Utiliser trop de strong references peut créer des retain cycles qui empêchent la désallocation.
3Qu'est-ce qu'un retain cycle (cycle de rétention) ?
Qu'est-ce qu'un retain cycle (cycle de rétention) ?
Réponse
Un retain cycle se produit quand deux ou plusieurs objets gardent des strong references mutuelles. Aucun ne peut être désalloué car chacun empêche le compteur de références de l'autre d'atteindre zéro. Cela crée une fuite mémoire. Les retain cycles sont évités en utilisant des weak ou unowned references dans les relations circulaires.
Quel est le rôle de deinit dans la gestion mémoire ARC ?
Quelle est la différence entre une weak et une unowned reference ?
+19 questions d'entretien
Autres sujets d'entretien iOS
Les bases de Swift
Essentiels du langage Swift
Fondamentaux UIKit
Cycle de vie UIViewController
UserDefaults & Keychain
Cycle de vie de l'application
Auto Layout & Constraints
UITableView & UICollectionView
Les bases de SwiftUI
Gestion d'état SwiftUI
Navigation SwiftUI
Networking & URLSession
Codable & Parsing JSON
Core Data
Programmation orientée protocoles
Architecture MVVM
Notifications Push
Tests unitaires & XCTest
Tests d'interface utilisateur
Xcode & Système de build
Swift Package Manager
Combine Framework
Concurrency & async/await
iOS Design Patterns
Performance Optimization
Security & Encryption
SwiftUI Advanced
iOS Application Architecture
Maîtrise iOS pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement