# Arsitektur Aplikasi iOS (iOS) > Clean Architecture, VIPER, arsitektur modular, Dependency Injection, TCA, alur searah - 22 pertanyaan wawancara - Senior - [Pertanyaan Wawancara: iOS](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara.md) ## 1. Apa tiga lapisan utama Clean Architecture? **Jawaban** Clean Architecture mengatur kode dalam lapisan konsentris: Entities (logika bisnis), Use Cases (aturan aplikasi), dan Frameworks/Drivers (detail implementasi). Dependensi harus selalu mengarah ke dalam, tidak pernah ke luar. Struktur ini menjamin independensi framework dan kemudahan pengujian logika bisnis. ## 2. Apa itu Dependency Rule dalam Clean Architecture? **Jawaban** Dependency Rule menyatakan bahwa dependensi kode sumber hanya boleh mengarah ke dalam. Kode di lapisan luar tidak boleh dirujuk oleh kode lapisan dalam. Ini menjaga independensi aturan bisnis dari detail teknis dan framework eksternal. ## 3. Apa peran Use Case dalam Clean Architecture? **Jawaban** Use Case mengenkapsulasi aturan spesifik aplikasi yang independen dari framework. Ia mengorkestrasi Entities, memvalidasi permintaan, dan menghasilkan respons. Setiap Use Case mewakili tindakan pengguna tertentu sambil menjaga logika bisnis tetap terisolasi dari presentasi dan persistensi. ## 19 pertanyaan lagi tersedia - Bagaimana cara menguji Use Case dalam Clean Architecture? - Apa konsep Entities dalam Clean Architecture? Daftar gratis: https://sharpskill.dev/id/login ## Topik wawancara iOS lainnya - [Dasar-Dasar Swift](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swift-basics.md): 25 pertanyaan, Junior - [Dasar-Dasar Bahasa Swift](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swift-language-essentials.md): 15 pertanyaan, Junior - [Dasar-Dasar UIKit](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/uikit-fundamentals.md): 18 pertanyaan, Junior - [Siklus Hidup UIViewController](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/uiviewcontroller-lifecycle.md): 20 pertanyaan, Junior - [UserDefaults & Keychain](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/userdefaults-keychain.md): 20 pertanyaan, Junior - [Siklus Hidup Aplikasi](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/app-lifecycle.md): 20 pertanyaan, Junior - [Auto Layout & Constraints](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/auto-layout-constraints.md): 24 pertanyaan, Mid-Level - [UITableView & UICollectionView](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/uitableview-uicollectionview.md): 25 pertanyaan, Mid-Level - [Dasar-Dasar SwiftUI](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swiftui-basics.md): 18 pertanyaan, Mid-Level - [Manajemen State SwiftUI](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swiftui-state-management.md): 22 pertanyaan, Mid-Level - [Navigasi SwiftUI](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swiftui-navigation.md): 18 pertanyaan, Mid-Level - [Networking & URLSession](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/networking-urlsession.md): 20 pertanyaan, Mid-Level - [Codable & Parsing JSON](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/codable-json-parsing.md): 20 pertanyaan, Mid-Level - [Core Data](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/core-data.md): 22 pertanyaan, Mid-Level - [Pemrograman Berorientasi Protokol](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/protocol-oriented-programming.md): 20 pertanyaan, Mid-Level - [Arsitektur MVVM](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/mvvm-architecture.md): 20 pertanyaan, Mid-Level - [Notifikasi Push](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/push-notifications.md): 18 pertanyaan, Mid-Level - [Unit Testing & XCTest](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/unit-testing-xctest.md): 20 pertanyaan, Mid-Level - [Pengujian UI](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/ui-testing.md): 18 pertanyaan, Mid-Level - [Xcode & Sistem Build](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/xcode-build-system.md): 16 pertanyaan, Mid-Level - [Swift Package Manager](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swift-package-manager.md): 16 pertanyaan, Mid-Level - [Memory Management & ARC](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/memory-management-arc.md): 22 pertanyaan, Senior - [Combine Framework](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/combine-framework.md): 24 pertanyaan, Senior - [Concurrency & async/await](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/concurrency-async-await.md): 26 pertanyaan, Senior - [iOS Design Patterns](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/ios-design-patterns.md): 24 pertanyaan, Senior - [Optimasi Performa](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/performance-optimization.md): 22 pertanyaan, Senior - [Keamanan dan Enkripsi](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/security-encryption.md): 20 pertanyaan, Senior - [SwiftUI Advanced](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swiftui-advanced.md): 22 pertanyaan, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/ios-app-architecture