# Clean Architecture (.NET) > Architettura a livelli, CQRS, MediatR, repository pattern, separazione delle responsabilità, testabilità - 20 domande da colloquio - Mid-Level - [Domande da colloquio: .NET](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio.md) ## 1. Qual è il principio della Clean Architecture? **Risposta** Clean Architecture organizza il codice in livelli concentrici in cui le dipendenze puntano solo verso l'interno (verso il Domain). Il livello Domain (entità, regole di business) non ha dipendenze dall'infrastruttura. I livelli esterni (UI, Database, API) dipendono dalle astrazioni del Domain tramite Dependency Inversion. Ciò garantisce testabilità, indipendenza dai framework e manutenibilità del codice. ## 2. Quali sono i livelli principali della Clean Architecture? **Risposta** Clean Architecture ha 4 livelli principali: Domain (entità, regole di business, interfacce dei repository), Application (use case, DTO, logica applicativa), Infrastructure (implementazioni dei repository, DbContext, servizi esterni) e Presentation (API controller, UI). Il Domain è al centro e non dipende da nulla. Application dipende dal Domain. Infrastructure e Presentation dipendono da Application e Domain. ## 3. Che cos'è il pattern CQRS? **Risposta** CQRS (Command Query Responsibility Segregation) separa le operazioni di lettura (Queries) e di scrittura (Commands). I Commands modificano lo stato e restituiscono void o un risultato semplice. Le Queries restituiscono dati senza modificare lo stato. Questa separazione consente di ottimizzare in modo indipendente le letture (Dapper, viste SQL) e le scritture (EF Core, aggregati DDD) e di scalare ogni lato in modo diverso. ## Altre 17 domande disponibili - Qual è il ruolo di MediatR nella Clean Architecture? - Come definire un Command in MediatR? Registrati gratis: https://sharpskill.dev/it/login ## Altri argomenti di colloquio .NET - [Fondamenti di C#](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/csharp-basics.md): 25 domande, Junior - [LINQ & Delegates](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/csharp-linq-delegates.md): 20 domande, Junior - [Fondamenti del linguaggio C#](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/csharp-language-essentials.md): 15 domande, Junior - [Fondamenti di ASP.NET Core](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/aspnet-core-fundamentals.md): 18 domande, Junior - [Ciclo di vita delle richieste in ASP.NET Core](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/aspnet-core-request-lifecycle.md): 20 domande, Junior - [Configuration & Settings](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/configuration-settings.md): 20 domande, Junior - [Ciclo di vita dell'applicazione](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/application-lifecycle.md): 20 domande, Junior - [Dependency Injection](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/dependency-injection.md): 24 domande, Mid-Level - [Entity Framework Core](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/entity-framework-core.md): 25 domande, Mid-Level - [Minimal APIs](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/minimal-apis.md): 18 domande, Mid-Level - [Sviluppo di Web API](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/web-api-development.md): 22 domande, Mid-Level - [Async in ASP.NET Core](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/async-aspnet-core.md): 20 domande, Mid-Level - [Authentication & Authorization](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/authentication-authorization.md): 18 domande, Mid-Level - [HttpClient & Networking](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/httpclient-networking.md): 20 domande, Mid-Level - [Serializzazione JSON](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/json-serialization.md): 20 domande, Mid-Level - [Entity Framework Core avanzato](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/ef-core-advanced.md): 25 domande, Mid-Level - [Funzionalità avanzate di C#](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/csharp-advanced-features.md): 20 domande, Mid-Level - [Logging, Monitoring & Observability](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/logging-monitoring.md): 22 domande, Mid-Level - [Test unitari & xUnit](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/unit-testing-xunit.md): 20 domande, Mid-Level - [Test di integrazione](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/integration-testing.md): 18 domande, Mid-Level - [Docker & Containerization](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/docker-containerization.md): 16 domande, Mid-Level - [Gestione dei pacchetti NuGet](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/nuget-package-management.md): 16 domande, Mid-Level - [Memory Management & GC](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/memory-management-gc.md): 22 domande, Senior - [Programmazione reattiva](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/reactive-programming.md): 24 domande, Senior - [Async/await & Pattern](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/async-await-patterns.md): 26 domande, Senior - [.NET Design Patterns](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/dotnet-design-patterns.md): 24 domande, Senior - [Ottimizzazione delle prestazioni](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/performance-optimization.md): 22 domande, Senior - [Sicurezza e Best Practices](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/security-best-practices.md): 24 domande, Senior - [SignalR e tempo reale](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/signalr-realtime.md): 22 domande, Senior - [Architettura a Microservizi](https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/microservices-architecture.md): 25 domande, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/it/technologies/dotnet/domande-colloquio/clean-architecture