# Розширені можливості C# (.NET) > Pattern matching, records, tuples, deconstruction, local functions, параметри ref/out - 20 питань зі співбесід - Mid-Level - [Питання зі співбесід: .NET](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy.md) ## 1. Що таке record у C#? **Відповідь** record — це незмінний посилальний тип, представлений у C# 9, який надає лаконічний синтаксис для створення типів даних із рівністю на основі значень. На відміну від звичайних класів, що використовують рівність за посиланням, record порівнює значення своїх властивостей. Використовуйте record для DTO, value object та незмінних типів, де бажана рівність на основі значень. ## 2. У чому різниця між out і ref у C#? **Відповідь** Параметр out не потребує ініціалізації перед викликом методу, але має бути присвоєний усередині методу, тоді як ref потребує ініціалізації перед викликом і може бути змінений або ні всередині методу. Обидва передаються за посиланням, але out оптимізований для повернення кількох значень, тоді як ref використовується для зміни наявної змінної. Використовуйте out для методів, що повертають кілька результатів, і ref, коли потрібна зміна наявного значення. ## 3. Що таке pattern matching у C#? **Відповідь** pattern matching — це можливість тестувати значення проти різних шаблонів (типів, значень, властивостей) та виконувати код на основі відповідного шаблону. Представлений у C# 7 та вдосконалений у пізніших версіях, він спрощує складні умовні структури за допомогою switch expression, property pattern і type pattern. Використовуйте pattern matching, щоб замінити складні ланцюжки if-else та покращити читабельність коду. ## Ще 17 доступних питань - Що таке tuple у C# і як його оголосити? - Що таке local function у C#? Зареєструйся безкоштовно: https://sharpskill.dev/uk/login ## Інші теми співбесід .NET - [Основи C#](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/csharp-basics.md): 25 запитань, Junior - [LINQ & Delegates](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/csharp-linq-delegates.md): 20 запитань, Junior - [Основи мови C#](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/csharp-language-essentials.md): 15 запитань, Junior - [Основи ASP.NET Core](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/aspnet-core-fundamentals.md): 18 запитань, Junior - [Життєвий цикл запиту в ASP.NET Core](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/aspnet-core-request-lifecycle.md): 20 запитань, Junior - [Configuration & Settings](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/configuration-settings.md): 20 запитань, Junior - [Життєвий цикл застосунку](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/application-lifecycle.md): 20 запитань, Junior - [Dependency Injection](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/dependency-injection.md): 24 запитань, Mid-Level - [Entity Framework Core](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/entity-framework-core.md): 25 запитань, Mid-Level - [Minimal APIs](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/minimal-apis.md): 18 запитань, Mid-Level - [Розробка Web API](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/web-api-development.md): 22 запитань, Mid-Level - [Async в ASP.NET Core](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/async-aspnet-core.md): 20 запитань, Mid-Level - [Authentication & Authorization](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/authentication-authorization.md): 18 запитань, Mid-Level - [HttpClient & Networking](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/httpclient-networking.md): 20 запитань, Mid-Level - [Серіалізація JSON](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/json-serialization.md): 20 запитань, Mid-Level - [Entity Framework Core просунутий](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/ef-core-advanced.md): 25 запитань, Mid-Level - [Clean Architecture](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/clean-architecture.md): 20 запитань, Mid-Level - [Logging, Monitoring & Observability](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/logging-monitoring.md): 22 запитань, Mid-Level - [Модульне тестування та xUnit](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/unit-testing-xunit.md): 20 запитань, Mid-Level - [Інтеграційні тести](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/integration-testing.md): 18 запитань, Mid-Level - [Docker & Containerization](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/docker-containerization.md): 16 запитань, Mid-Level - [Керування пакетами NuGet](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/nuget-package-management.md): 16 запитань, Mid-Level - [Memory Management & GC](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/memory-management-gc.md): 22 запитань, Senior - [Реактивне програмування](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/reactive-programming.md): 24 запитань, Senior - [Async/await і патерни](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/async-await-patterns.md): 26 запитань, Senior - [.NET Design Patterns](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/dotnet-design-patterns.md): 24 запитань, Senior - [Оптимізація продуктивності](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/performance-optimization.md): 22 запитань, Senior - [Безпека та Best Practices](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/security-best-practices.md): 24 запитань, Senior - [SignalR і реальний час](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/signalr-realtime.md): 22 запитань, Senior - [Архітектура мікросервісів](https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/microservices-architecture.md): 25 запитань, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/uk/technologies/dotnet/pytannia-spivbesidy/csharp-advanced-features