# iOS Application Architecture (iOS) > Clean Architecture, VIPER, modular architecture, Dependency Injection, TCA, unidirectional flow - 22 interview questions - Senior - [Interview Questions: iOS](https://sharpskill.dev/en/technologies/ios/interview-questions.md) ## 1. What are the three main layers of Clean Architecture? **Answer** Clean Architecture organizes code in concentric layers: Entities (business logic), Use Cases (application rules), and Frameworks/Drivers (implementation details). Dependencies must always point inward, never outward. This structure ensures framework independence and testability of business logic. ## 2. What is the Dependency Rule in Clean Architecture? **Answer** The Dependency Rule states that source code dependencies must only point inward. Code in outer layers must never be referenced by inner layer code. This preserves business rule independence from technical details and external frameworks. ## 3. What is the role of a Use Case in Clean Architecture? **Answer** A Use Case encapsulates application-specific rules, independent of frameworks. It orchestrates Entities, validates requests, and produces responses. Each Use Case represents a specific user action while keeping business logic isolated from presentation and persistence. ## 19 more questions available - How to test a Use Case in Clean Architecture? - What is the concept of Entities in Clean Architecture? Sign up for free: https://sharpskill.dev/en/login ## Other iOS interview topics - [Swift Basics](https://sharpskill.dev/en/technologies/ios/interview-questions/swift-basics.md): 25 questions, Junior - [Swift Language Essentials](https://sharpskill.dev/en/technologies/ios/interview-questions/swift-language-essentials.md): 15 questions, Junior - [UIKit Fundamentals](https://sharpskill.dev/en/technologies/ios/interview-questions/uikit-fundamentals.md): 18 questions, Junior - [UIViewController Lifecycle](https://sharpskill.dev/en/technologies/ios/interview-questions/uiviewcontroller-lifecycle.md): 20 questions, Junior - [UserDefaults & Keychain](https://sharpskill.dev/en/technologies/ios/interview-questions/userdefaults-keychain.md): 20 questions, Junior - [Application Lifecycle](https://sharpskill.dev/en/technologies/ios/interview-questions/app-lifecycle.md): 20 questions, Junior - [Auto Layout & Constraints](https://sharpskill.dev/en/technologies/ios/interview-questions/auto-layout-constraints.md): 24 questions, Mid-Level - [UITableView & UICollectionView](https://sharpskill.dev/en/technologies/ios/interview-questions/uitableview-uicollectionview.md): 25 questions, Mid-Level - [SwiftUI Basics](https://sharpskill.dev/en/technologies/ios/interview-questions/swiftui-basics.md): 18 questions, Mid-Level - [SwiftUI State Management](https://sharpskill.dev/en/technologies/ios/interview-questions/swiftui-state-management.md): 22 questions, Mid-Level - [SwiftUI Navigation](https://sharpskill.dev/en/technologies/ios/interview-questions/swiftui-navigation.md): 18 questions, Mid-Level - [Networking & URLSession](https://sharpskill.dev/en/technologies/ios/interview-questions/networking-urlsession.md): 20 questions, Mid-Level - [Codable & JSON Parsing](https://sharpskill.dev/en/technologies/ios/interview-questions/codable-json-parsing.md): 20 questions, Mid-Level - [Core Data](https://sharpskill.dev/en/technologies/ios/interview-questions/core-data.md): 22 questions, Mid-Level - [Protocol Oriented Programming](https://sharpskill.dev/en/technologies/ios/interview-questions/protocol-oriented-programming.md): 20 questions, Mid-Level - [MVVM Architecture](https://sharpskill.dev/en/technologies/ios/interview-questions/mvvm-architecture.md): 20 questions, Mid-Level - [Push Notifications](https://sharpskill.dev/en/technologies/ios/interview-questions/push-notifications.md): 18 questions, Mid-Level - [Unit Testing & XCTest](https://sharpskill.dev/en/technologies/ios/interview-questions/unit-testing-xctest.md): 20 questions, Mid-Level - [UI Testing](https://sharpskill.dev/en/technologies/ios/interview-questions/ui-testing.md): 18 questions, Mid-Level - [Xcode & Build System](https://sharpskill.dev/en/technologies/ios/interview-questions/xcode-build-system.md): 16 questions, Mid-Level - [Swift Package Manager](https://sharpskill.dev/en/technologies/ios/interview-questions/swift-package-manager.md): 16 questions, Mid-Level - [Memory Management & ARC](https://sharpskill.dev/en/technologies/ios/interview-questions/memory-management-arc.md): 22 questions, Senior - [Combine Framework](https://sharpskill.dev/en/technologies/ios/interview-questions/combine-framework.md): 24 questions, Senior - [Concurrency & async/await](https://sharpskill.dev/en/technologies/ios/interview-questions/concurrency-async-await.md): 26 questions, Senior - [iOS Design Patterns](https://sharpskill.dev/en/technologies/ios/interview-questions/ios-design-patterns.md): 24 questions, Senior - [Performance Optimization](https://sharpskill.dev/en/technologies/ios/interview-questions/performance-optimization.md): 22 questions, Senior - [Security & Encryption](https://sharpskill.dev/en/technologies/ios/interview-questions/security-encryption.md): 20 questions, Senior - [SwiftUI Advanced](https://sharpskill.dev/en/technologies/ios/interview-questions/swiftui-advanced.md): 22 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/en/technologies/ios/interview-questions/ios-app-architecture