# Async/await & Patterns (.NET) > async/await, Task, ValueTask, ConfigureAwait, cancellation tokens, execução paralela, deadlocks - 26 perguntas de entrevista - Senior - [Perguntas de entrevista: .NET](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista.md) ## 1. Qual é o papel principal da palavra-chave 'await' em um método assíncrono? **Resposta** A palavra-chave await suspende a execução do método assíncrono até que a Task seja concluída, liberando ao mesmo tempo o thread chamador para que processe outras tarefas. Isso evita o bloqueio do thread e melhora a escalabilidade da aplicação. Diferentemente de Task.Wait() ou Task.Result que bloqueiam o thread, await permite o uso eficiente dos recursos do thread pool. ## 2. Por que se deve evitar async void exceto para manipuladores de eventos? **Resposta** Os métodos async void não podem ser aguardados (await) e as exceções lançadas dentro não podem ser capturadas pelo código chamador, causando um crash da aplicação. Além disso, é impossível fazer testes unitários de um método async void porque não há nenhuma Task a aguardar. Os manipuladores de eventos são a exceção porque são chamados pelo framework e não podem retornar Task. ## 3. Em qual caso de uso ValueTask deve ser preferido em vez de Task? **Resposta** ValueTask é um value type que evita a alocação no heap quando o resultado já está disponível de forma síncrona, como em um cache. Isso reduz a pressão sobre o garbage collector em cenários de alto desempenho. Task é sempre alocado no heap mesmo que o resultado seja síncrono. Use ValueTask apenas quando os ganhos de desempenho forem mensuráveis, pois seu uso incorreto pode degradar o desempenho. ## Mais 23 perguntas disponiveis - Qual restrição importante se aplica a ValueTask em comparação com Task? - Qual é o objetivo principal de ConfigureAwait(false) em uma biblioteca .NET? 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 - [Recursos avançados do C#](https://sharpskill.dev/pt/technologies/dotnet/perguntas-entrevista/csharp-advanced-features.md): 20 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 - [.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/async-await-patterns