Most developers fail this question — not because they don’t know async/await, but because they explain it poorly.
❌ Bad answer
It makes code asynchronous.
✅ Senior answer
Async/await allows you to write asynchronous code in a non-blocking way. When awaiting an operation, the thread is freed to handle other work instead of being blocked.
❌ Blocking async code
var result = GetDataAsync().Result;
This can cause deadlocks.
✅ Correct usage
var result = await GetDataAsync();
⚠️ ConfigureAwait(false)
await SomeAsync().ConfigureAwait(false);
Avoids capturing synchronization context in library code.
public async Task<string> GetDataAsync()
{
var response = await httpClient.GetAsync("https://api.com");
return await response.Content.ReadAsStringAsync();
}Want to practice explaining this like a senior?
Practice Now