# Recursos avançados do C# (.NET) > Pattern matching, records, tuples, deconstruction, local functions, parâmetros ref/out - 20 perguntas de entrevista - Mid-Level - [Perguntas de entrevista: .NET](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista.md) ## 1. O que é um record em C#? **Resposta** Um record é um tipo de referência imutável introduzido no C# 9 que fornece uma sintaxe concisa para criar tipos de dados com igualdade baseada em valor. Ao contrário das classes comuns que usam igualdade por referência, os records comparam os valores de suas propriedades. Use records para DTOs, value objects e tipos imutáveis onde a igualdade baseada em valor é desejável. ## 2. Qual é a diferença entre out e ref em C#? **Resposta** O parâmetro out não requer inicialização antes da chamada do método mas deve ser atribuído dentro do método, enquanto ref requer inicialização antes da chamada e pode ou não ser modificado no método. Ambos passam por referência, mas out é otimizado para retornar múltiplos valores enquanto ref é usado para modificar uma variável existente. Use out para métodos que retornam múltiplos resultados e ref quando for necessário modificar um valor existente. ## 3. O que é pattern matching em C#? **Resposta** O pattern matching é um recurso que permite testar um valor contra diferentes padrões (tipos, valores, propriedades) e executar código com base no padrão correspondente. Introduzido no C# 7 e aprimorado em versões posteriores, simplifica estruturas condicionais complexas com switch expressions, property patterns e type patterns. Use o pattern matching para substituir cadeias complexas de if-else e melhorar a legibilidade do código. ## Mais 17 perguntas disponiveis - O que é um tuple em C# e como declará-lo? - O que é uma local function em C#? Cadastre-se gratis: https://sharpskill.dev/pt/login ## Outros temas de entrevista .NET - [Fundamentos de C#](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/csharp-basics.md): 25 perguntas, Junior - [LINQ & Delegates](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/csharp-linq-delegates.md): 20 perguntas, Junior - [Fundamentos da linguagem C#](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/csharp-language-essentials.md): 15 perguntas, Junior - [Fundamentos do ASP.NET Core](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/aspnet-core-fundamentals.md): 18 perguntas, Junior - [Ciclo de vida das requisições no ASP.NET Core](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/aspnet-core-request-lifecycle.md): 20 perguntas, Junior - [Configuration & Settings](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/configuration-settings.md): 20 perguntas, Junior - [Ciclo de vida da aplicação](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/application-lifecycle.md): 20 perguntas, Junior - [Dependency Injection](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/dependency-injection.md): 24 perguntas, Mid-Level - [Entity Framework Core](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/entity-framework-core.md): 25 perguntas, Mid-Level - [Minimal APIs](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/minimal-apis.md): 18 perguntas, Mid-Level - [Desenvolvimento de Web API](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/web-api-development.md): 22 perguntas, Mid-Level - [Async no ASP.NET Core](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/async-aspnet-core.md): 20 perguntas, Mid-Level - [Authentication & Authorization](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/authentication-authorization.md): 18 perguntas, Mid-Level - [HttpClient & Networking](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/httpclient-networking.md): 20 perguntas, Mid-Level - [Serialização JSON](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/json-serialization.md): 20 perguntas, Mid-Level - [Entity Framework Core avançado](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/ef-core-advanced.md): 25 perguntas, Mid-Level - [Clean Architecture](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/clean-architecture.md): 20 perguntas, Mid-Level - [Logging, Monitoring & Observability](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/logging-monitoring.md): 22 perguntas, Mid-Level - [Testes unitários e xUnit](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/unit-testing-xunit.md): 20 perguntas, Mid-Level - [Testes de integração](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/integration-testing.md): 18 perguntas, Mid-Level - [Docker & Containerization](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/docker-containerization.md): 16 perguntas, Mid-Level - [NuGet Package Management](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/nuget-package-management.md): 16 perguntas, Mid-Level - [Memory Management & GC](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/memory-management-gc.md): 22 perguntas, Senior - [Programação reativa](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/reactive-programming.md): 24 perguntas, Senior - [Async/await & Patterns](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/async-await-patterns.md): 26 perguntas, Senior - [.NET Design Patterns](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/dotnet-design-patterns.md): 24 perguntas, Senior - [Otimização de desempenho](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/performance-optimization.md): 22 perguntas, Senior - [Segurança e Best Practices](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/security-best-practices.md): 24 perguntas, Senior - [SignalR e tempo real](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/signalr-realtime.md): 22 perguntas, Senior - [Arquitetura de Microsserviços](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/microservices-architecture.md): 25 perguntas, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/csharp-advanced-features