# Clean Architecture (.NET) > Arsitektur berlapis, CQRS, MediatR, repository pattern, pemisahan tanggung jawab, kemudahan pengujian - 20 pertanyaan wawancara - Mid-Level - [Pertanyaan Wawancara: .NET](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara.md) ## 1. Apa prinsip Clean Architecture? **Jawaban** Clean Architecture mengatur kode ke dalam lapisan konsentris di mana dependensi hanya mengarah ke dalam (menuju Domain). Lapisan Domain (entitas, aturan bisnis) tidak memiliki dependensi infrastruktur. Lapisan luar (UI, Database, API) bergantung pada abstraksi Domain melalui Dependency Inversion. Ini memastikan kemudahan pengujian, kemandirian dari framework, dan kemudahan pemeliharaan kode. ## 2. Apa lapisan utama dari Clean Architecture? **Jawaban** Clean Architecture memiliki 4 lapisan utama: Domain (entitas, aturan bisnis, interface repository), Application (use case, DTO, logika aplikasi), Infrastructure (implementasi repository, DbContext, layanan eksternal), dan Presentation (API controller, UI). Domain berada di pusat dan tidak bergantung pada apa pun. Application bergantung pada Domain. Infrastructure dan Presentation bergantung pada Application dan Domain. ## 3. Apa itu pola CQRS? **Jawaban** CQRS (Command Query Responsibility Segregation) memisahkan operasi baca (Queries) dan tulis (Commands). Commands mengubah state dan mengembalikan void atau hasil sederhana. Queries mengembalikan data tanpa mengubah state. Pemisahan ini memungkinkan optimasi independen untuk operasi baca (Dapper, view SQL) dan tulis (EF Core, agregat DDD), serta penskalaan yang berbeda untuk masing-masing sisi. ## 17 pertanyaan lagi tersedia - Apa peran MediatR dalam Clean Architecture? - Bagaimana cara mendefinisikan Command di MediatR? Daftar gratis: https://sharpskill.dev/id/login ## Topik wawancara .NET lainnya - [Dasar-Dasar C#](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/csharp-basics.md): 25 pertanyaan, Junior - [LINQ & Delegates](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/csharp-linq-delegates.md): 20 pertanyaan, Junior - [Esensi Bahasa C#](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/csharp-language-essentials.md): 15 pertanyaan, Junior - [Dasar-Dasar ASP.NET Core](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/aspnet-core-fundamentals.md): 18 pertanyaan, Junior - [Siklus Hidup Request ASP.NET Core](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/aspnet-core-request-lifecycle.md): 20 pertanyaan, Junior - [Configuration & Settings](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/configuration-settings.md): 20 pertanyaan, Junior - [Siklus Hidup Aplikasi](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/application-lifecycle.md): 20 pertanyaan, Junior - [Dependency Injection](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/dependency-injection.md): 24 pertanyaan, Mid-Level - [Entity Framework Core](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/entity-framework-core.md): 25 pertanyaan, Mid-Level - [Minimal APIs](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/minimal-apis.md): 18 pertanyaan, Mid-Level - [Pengembangan Web API](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/web-api-development.md): 22 pertanyaan, Mid-Level - [Async di ASP.NET Core](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/async-aspnet-core.md): 20 pertanyaan, Mid-Level - [Authentication & Authorization](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/authentication-authorization.md): 18 pertanyaan, Mid-Level - [HttpClient & Networking](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/httpclient-networking.md): 20 pertanyaan, Mid-Level - [Serialisasi JSON](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/json-serialization.md): 20 pertanyaan, Mid-Level - [Entity Framework Core Tingkat Lanjut](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/ef-core-advanced.md): 25 pertanyaan, Mid-Level - [Fitur Lanjutan C#](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/csharp-advanced-features.md): 20 pertanyaan, Mid-Level - [Logging, Monitoring & Observability](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/logging-monitoring.md): 22 pertanyaan, Mid-Level - [Unit Testing & xUnit](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/unit-testing-xunit.md): 20 pertanyaan, Mid-Level - [Pengujian Integrasi](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/integration-testing.md): 18 pertanyaan, Mid-Level - [Docker & Containerization](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/docker-containerization.md): 16 pertanyaan, Mid-Level - [Manajemen Paket NuGet](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/nuget-package-management.md): 16 pertanyaan, Mid-Level - [Memory Management & GC](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/memory-management-gc.md): 22 pertanyaan, Senior - [Pemrograman reaktif](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/reactive-programming.md): 24 pertanyaan, Senior - [Async/await & Pola](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/async-await-patterns.md): 26 pertanyaan, Senior - [.NET Design Patterns](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/dotnet-design-patterns.md): 24 pertanyaan, Senior - [Optimasi Performa](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/performance-optimization.md): 22 pertanyaan, Senior - [Keamanan & Best Practices](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/security-best-practices.md): 24 pertanyaan, Senior - [SignalR & Real-time](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/signalr-realtime.md): 22 pertanyaan, Senior - [Arsitektur Microservices](https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/microservices-architecture.md): 25 pertanyaan, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/technologies/dotnet/pertanyaan-wawancara/clean-architecture