# Architettura delle applicazioni iOS (iOS) > Clean Architecture, VIPER, architettura modulare, Dependency Injection, TCA, flusso unidirezionale - 22 domande da colloquio - Senior - [Domande da colloquio: iOS](https://sharpskill.dev/it/technologies/ios/domande-colloquio.md) ## 1. Quali sono i tre livelli principali di Clean Architecture? **Risposta** Clean Architecture organizza il codice in livelli concentrici: Entities (logica di business), Use Cases (regole applicative) e Frameworks/Drivers (dettagli di implementazione). Le dipendenze devono sempre puntare verso l'interno, mai verso l'esterno. Questa struttura garantisce l'indipendenza dal framework e la testabilità della logica di business. ## 2. Cos'è la Dependency Rule in Clean Architecture? **Risposta** La Dependency Rule stabilisce che le dipendenze del codice sorgente devono puntare solo verso l'interno. Il codice nei livelli esterni non deve mai essere referenziato dal codice dei livelli interni. Questo preserva l'indipendenza delle regole di business dai dettagli tecnici e dai framework esterni. ## 3. Qual è il ruolo di un Use Case in Clean Architecture? **Risposta** Un Use Case incapsula le regole specifiche dell'applicazione, indipendenti dai framework. Orchestra le Entities, valida le richieste e produce le risposte. Ogni Use Case rappresenta un'azione specifica dell'utente mantenendo la logica di business isolata dalla presentazione e dalla persistenza. ## Altre 19 domande disponibili - Come testare un Use Case in Clean Architecture? - Qual è il concetto di Entities in Clean Architecture? Registrati gratis: https://sharpskill.dev/it/login ## Altri argomenti di colloquio iOS - [Fondamenti di Swift](https://sharpskill.dev/it/technologies/ios/domande-colloquio/swift-basics.md): 25 domande, Junior - [Fondamenti del linguaggio Swift](https://sharpskill.dev/it/technologies/ios/domande-colloquio/swift-language-essentials.md): 15 domande, Junior - [Fondamenti di UIKit](https://sharpskill.dev/it/technologies/ios/domande-colloquio/uikit-fundamentals.md): 18 domande, Junior - [Ciclo di vita di UIViewController](https://sharpskill.dev/it/technologies/ios/domande-colloquio/uiviewcontroller-lifecycle.md): 20 domande, Junior - [UserDefaults & Keychain](https://sharpskill.dev/it/technologies/ios/domande-colloquio/userdefaults-keychain.md): 20 domande, Junior - [Ciclo di vita dell'applicazione](https://sharpskill.dev/it/technologies/ios/domande-colloquio/app-lifecycle.md): 20 domande, Junior - [Auto Layout & Constraints](https://sharpskill.dev/it/technologies/ios/domande-colloquio/auto-layout-constraints.md): 24 domande, Mid-Level - [UITableView & UICollectionView](https://sharpskill.dev/it/technologies/ios/domande-colloquio/uitableview-uicollectionview.md): 25 domande, Mid-Level - [Fondamenti di SwiftUI](https://sharpskill.dev/it/technologies/ios/domande-colloquio/swiftui-basics.md): 18 domande, Mid-Level - [Gestione dello stato in SwiftUI](https://sharpskill.dev/it/technologies/ios/domande-colloquio/swiftui-state-management.md): 22 domande, Mid-Level - [Navigazione SwiftUI](https://sharpskill.dev/it/technologies/ios/domande-colloquio/swiftui-navigation.md): 18 domande, Mid-Level - [Networking & URLSession](https://sharpskill.dev/it/technologies/ios/domande-colloquio/networking-urlsession.md): 20 domande, Mid-Level - [Codable e parsing JSON](https://sharpskill.dev/it/technologies/ios/domande-colloquio/codable-json-parsing.md): 20 domande, Mid-Level - [Core Data](https://sharpskill.dev/it/technologies/ios/domande-colloquio/core-data.md): 22 domande, Mid-Level - [Programmazione orientata ai protocolli](https://sharpskill.dev/it/technologies/ios/domande-colloquio/protocol-oriented-programming.md): 20 domande, Mid-Level - [Architettura MVVM](https://sharpskill.dev/it/technologies/ios/domande-colloquio/mvvm-architecture.md): 20 domande, Mid-Level - [Notifiche Push](https://sharpskill.dev/it/technologies/ios/domande-colloquio/push-notifications.md): 18 domande, Mid-Level - [Test unitari & XCTest](https://sharpskill.dev/it/technologies/ios/domande-colloquio/unit-testing-xctest.md): 20 domande, Mid-Level - [Test dell'interfaccia utente](https://sharpskill.dev/it/technologies/ios/domande-colloquio/ui-testing.md): 18 domande, Mid-Level - [Xcode e sistema di build](https://sharpskill.dev/it/technologies/ios/domande-colloquio/xcode-build-system.md): 16 domande, Mid-Level - [Swift Package Manager](https://sharpskill.dev/it/technologies/ios/domande-colloquio/swift-package-manager.md): 16 domande, Mid-Level - [Memory Management & ARC](https://sharpskill.dev/it/technologies/ios/domande-colloquio/memory-management-arc.md): 22 domande, Senior - [Combine Framework](https://sharpskill.dev/it/technologies/ios/domande-colloquio/combine-framework.md): 24 domande, Senior - [Concurrency & async/await](https://sharpskill.dev/it/technologies/ios/domande-colloquio/concurrency-async-await.md): 26 domande, Senior - [iOS Design Patterns](https://sharpskill.dev/it/technologies/ios/domande-colloquio/ios-design-patterns.md): 24 domande, Senior - [Ottimizzazione delle prestazioni](https://sharpskill.dev/it/technologies/ios/domande-colloquio/performance-optimization.md): 22 domande, Senior - [Sicurezza e crittografia](https://sharpskill.dev/it/technologies/ios/domande-colloquio/security-encryption.md): 20 domande, Senior - [SwiftUI Advanced](https://sharpskill.dev/it/technologies/ios/domande-colloquio/swiftui-advanced.md): 22 domande, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/it/technologies/ios/domande-colloquio/ios-app-architecture