# Fonctionnalités avancées C# (.NET) > Pattern matching, records, tuples, deconstruction, local functions, ref/out parameters - 20 questions d'entretien - Confirmé - [Questions d'entretien: .NET](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien.md) ## 1. Qu'est-ce qu'un record en C# ? **Réponse** Un record est un type référence immuable introduit en C# 9 qui fournit une syntaxe concise pour créer des types de données avec égalité par valeur. Contrairement aux classes ordinaires qui utilisent l'égalité par référence, les records comparent les valeurs de leurs propriétés. Utiliser les records pour les DTOs, les value objects et les types immuables où l'égalité par valeur est souhaitable. ## 2. Quelle est la différence entre out et ref en C# ? **Réponse** Le paramètre out ne nécessite pas d'initialisation avant l'appel de la méthode mais doit être assigné dans la méthode, tandis que ref nécessite l'initialisation avant l'appel et peut être modifié ou non dans la méthode. Les deux passent par référence mais out est optimisé pour retourner plusieurs valeurs tandis que ref est utilisé pour modifier une variable existante. Utiliser out pour les méthodes qui retournent plusieurs résultats et ref quand il est nécessaire de modifier une valeur existante. ## 3. Qu'est-ce que le pattern matching en C# ? **Réponse** Le pattern matching est une fonctionnalité permettant de tester une valeur contre différents motifs (types, valeurs, propriétés) et d'exécuter du code basé sur le motif correspondant. Introduit en C# 7 et amélioré dans les versions ultérieures, il simplifie les structures conditionnelles complexes avec switch expressions, property patterns et type patterns. Utiliser le pattern matching pour remplacer les chaînes if-else complexes et améliorer la lisibilité du code. ## 17 questions supplémentaires disponibles - Qu'est-ce qu'un tuple en C# et comment le déclarer ? - Qu'est-ce qu'une fonction locale en C# ? S'inscrire gratuitement: https://sharpskill.dev/fr/login ## Autres sujets d'entretien .NET - [Les bases de C#](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/csharp-basics.md): 25 questions, Junior - [LINQ & Delegates](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/csharp-linq-delegates.md): 20 questions, Junior - [Essentiels du langage C#](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/csharp-language-essentials.md): 15 questions, Junior - [Fondamentaux ASP.NET Core](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/aspnet-core-fundamentals.md): 18 questions, Junior - [Cycle de vie des requêtes ASP.NET Core](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/aspnet-core-request-lifecycle.md): 20 questions, Junior - [Configuration & Settings](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/configuration-settings.md): 20 questions, Junior - [Cycle de vie de l'application](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/application-lifecycle.md): 20 questions, Junior - [Dependency Injection](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/dependency-injection.md): 24 questions, Confirmé - [Entity Framework Core](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/entity-framework-core.md): 25 questions, Confirmé - [Minimal APIs](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/minimal-apis.md): 18 questions, Confirmé - [Développement Web API](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/web-api-development.md): 22 questions, Confirmé - [Async côté ASP.NET Core](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/async-aspnet-core.md): 20 questions, Confirmé - [Authentication & Authorization](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/authentication-authorization.md): 18 questions, Confirmé - [HttpClient & Networking](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/httpclient-networking.md): 20 questions, Confirmé - [Sérialisation JSON](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/json-serialization.md): 20 questions, Confirmé - [Entity Framework Core avancé](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/ef-core-advanced.md): 25 questions, Confirmé - [Clean Architecture](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/clean-architecture.md): 20 questions, Confirmé - [Logging, Monitoring & Observability](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/logging-monitoring.md): 22 questions, Confirmé - [Tests unitaires & xUnit](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/unit-testing-xunit.md): 20 questions, Confirmé - [Tests d'intégration](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/integration-testing.md): 18 questions, Confirmé - [Docker & Containerization](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/docker-containerization.md): 16 questions, Confirmé - [NuGet Package Management](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/nuget-package-management.md): 16 questions, Confirmé - [Memory Management & GC](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/memory-management-gc.md): 22 questions, Senior - [Programmation réactive](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/reactive-programming.md): 24 questions, Senior - [Async/await & Patterns](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/async-await-patterns.md): 26 questions, Senior - [.NET Design Patterns](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/dotnet-design-patterns.md): 24 questions, Senior - [Optimisation des performances](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/performance-optimization.md): 22 questions, Senior - [Sécurité & Best Practices](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/security-best-practices.md): 24 questions, Senior - [SignalR & Real-time](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/signalr-realtime.md): 22 questions, Senior - [Architecture Microservices](https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/microservices-architecture.md): 25 questions, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/fr/technologies/dotnet/questions-entretien/csharp-advanced-features