# Async/await i wzorce (.NET) > async/await, Task, ValueTask, ConfigureAwait, cancellation tokens, wykonywanie równoległe, deadlocki - 26 pytań z rozmów - Senior - [Pytania z rozmów: .NET](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne.md) ## 1. Jaka jest główna rola słowa kluczowego 'await' w metodzie asynchronicznej? **Odpowiedź** Słowo kluczowe await zawiesza wykonywanie metody asynchronicznej do czasu zakończenia Task, jednocześnie zwalniając wątek wywołujący, aby mógł przetwarzać inne zadania. Pozwala to uniknąć blokowania wątku i poprawia skalowalność aplikacji. W przeciwieństwie do Task.Wait() lub Task.Result, które blokują wątek, await umożliwia efektywne wykorzystanie zasobów thread pool. ## 2. Dlaczego należy unikać async void z wyjątkiem procedur obsługi zdarzeń? **Odpowiedź** Metody async void nie mogą być oczekiwane (await), a wyjątki rzucone w środku nie mogą zostać przechwycone przez kod wywołujący, co powoduje awarię aplikacji. Ponadto testowanie jednostkowe metod async void jest niemożliwe, ponieważ nie ma żadnej Task do oczekiwania. Procedury obsługi zdarzeń są wyjątkiem, ponieważ są wywoływane przez framework i nie mogą zwracać Task. ## 3. W którym przypadku użycia należy preferować ValueTask zamiast Task? **Odpowiedź** ValueTask to value type, który unika alokacji na stercie (heap), gdy wynik jest już dostępny synchronicznie, na przykład w cache. Zmniejsza to obciążenie garbage collectora w scenariuszach o wysokiej wydajności. Task jest zawsze alokowany na stercie, nawet jeśli wynik jest synchroniczny. Używaj ValueTask tylko wtedy, gdy zyski wydajności są mierzalne, ponieważ niepoprawne użycie może obniżyć wydajność. ## Jeszcze 23 dostępnych pytań - Jakie ważne ograniczenie dotyczy ValueTask w porównaniu z Task? - Jaki jest główny cel ConfigureAwait(false) w bibliotece .NET? Zarejestruj się za darmo: https://sharpskill.dev/pl/login ## Inne tematy rekrutacyjne .NET - [Podstawy C#](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/csharp-basics.md): 25 pytań, Junior - [LINQ & Delegates](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/csharp-linq-delegates.md): 20 pytań, Junior - [Podstawy języka C#](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/csharp-language-essentials.md): 15 pytań, Junior - [Podstawy ASP.NET Core](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/aspnet-core-fundamentals.md): 18 pytań, Junior - [Cykl życia żądania w ASP.NET Core](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/aspnet-core-request-lifecycle.md): 20 pytań, Junior - [Configuration & Settings](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/configuration-settings.md): 20 pytań, Junior - [Cykl życia aplikacji](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/application-lifecycle.md): 20 pytań, Junior - [Dependency Injection](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/dependency-injection.md): 24 pytań, Mid-Level - [Entity Framework Core](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/entity-framework-core.md): 25 pytań, Mid-Level - [Minimal APIs](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/minimal-apis.md): 18 pytań, Mid-Level - [Tworzenie Web API](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/web-api-development.md): 22 pytań, Mid-Level - [Async w ASP.NET Core](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/async-aspnet-core.md): 20 pytań, Mid-Level - [Authentication & Authorization](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/authentication-authorization.md): 18 pytań, Mid-Level - [HttpClient & Networking](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/httpclient-networking.md): 20 pytań, Mid-Level - [Serializacja JSON](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/json-serialization.md): 20 pytań, Mid-Level - [Entity Framework Core zaawansowany](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/ef-core-advanced.md): 25 pytań, Mid-Level - [Zaawansowane funkcje C#](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/csharp-advanced-features.md): 20 pytań, Mid-Level - [Clean Architecture](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/clean-architecture.md): 20 pytań, Mid-Level - [Logging, Monitoring & Observability](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/logging-monitoring.md): 22 pytań, Mid-Level - [Testy jednostkowe & xUnit](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/unit-testing-xunit.md): 20 pytań, Mid-Level - [Testy integracyjne](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/integration-testing.md): 18 pytań, Mid-Level - [Docker & Containerization](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/docker-containerization.md): 16 pytań, Mid-Level - [Zarządzanie pakietami NuGet](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/nuget-package-management.md): 16 pytań, Mid-Level - [Memory Management & GC](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/memory-management-gc.md): 22 pytań, Senior - [Programowanie reaktywne](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/reactive-programming.md): 24 pytań, Senior - [.NET Design Patterns](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/dotnet-design-patterns.md): 24 pytań, Senior - [Optymalizacja wydajności](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/performance-optimization.md): 22 pytań, Senior - [Bezpieczeństwo i Best Practices](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/security-best-practices.md): 24 pytań, Senior - [SignalR i czas rzeczywisty](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/signalr-realtime.md): 22 pytań, Senior - [Architektura Mikroserwisów](https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/microservices-architecture.md): 25 pytań, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pl/technologies/dotnet/pytania-rekrutacyjne/async-await-patterns