
ASP.NET Core의 Async
controller에서의 async/await, CancellationToken, streaming responses, timeout, async filter, IAsyncEnumerable
20 면접 질문·
Mid-Level
1ASP.NET Core controller action에서 async/await를 사용하는 이유는 무엇인가요?
1
ASP.NET Core controller action에서 async/await를 사용하는 이유는 무엇인가요?
답변
controller에서 async/await를 사용하면 I/O 작업(데이터베이스, 외부 API) 중에 thread pool의 thread를 해제합니다. 이를 통해 대기하는 동안 thread가 다른 요청을 처리할 수 있어 서버 확장성이 향상됩니다. async가 없으면 thread가 차단된 채 불필요하게 리소스를 소비하여 동시 요청 수가 제한됩니다.
2controller action이 async/await를 사용하지 않고 Task<IActionResult>를 반환하면 어떻게 되나요?
2
controller action이 async/await를 사용하지 않고 Task<IActionResult>를 반환하면 어떻게 되나요?
답변
async/await 없이 Task<IActionResult>를 반환하는 것은 기존 Task를 직접 반환하는 경우(return dbContext.SaveChangesAsync();)에는 작동합니다. 하지만 async 키워드가 없으면 메서드 본문에서 await를 사용할 수 없습니다. 대부분의 경우 async를 사용하면 여러 비동기 작업을 await하고 try/catch로 오류를 처리할 수 있습니다.
3controller action에서 ToList()와 ToListAsync()의 차이점은 무엇인가요?
3
controller action에서 ToList()와 ToListAsync()의 차이점은 무엇인가요?
답변
ToList()는 동기식이며 데이터베이스 쿼리 중에 thread를 차단하여 확장성을 제한합니다. ToListAsync()는 비동기식이며 I/O 작업 중에 thread를 해제하여 서버가 다른 요청을 처리할 수 있게 합니다. 지원되는 동시 요청 수를 최대화하려면 controller에서 항상 ToListAsync()를 사용하세요.
4
controller action에서 CancellationToken의 역할은 무엇인가요?
5
ASP.NET Core controller action에서 CancellationToken을 얻으려면 어떻게 하나요?
+17 면접 질문
기타 .NET 면접 주제
C# 기초
Junior
25개 질문LINQ & Delegates
Junior
20개 질문C# 언어 핵심 요소
Junior
15개 질문ASP.NET Core 기초
Junior
18개 질문ASP.NET Core 요청 수명 주기
Junior
20개 질문Configuration & Settings
Junior
20개 질문애플리케이션 라이프사이클
Junior
20개 질문Dependency Injection
Mid-Level
24개 질문Entity Framework Core
Mid-Level
25개 질문Minimal APIs
Mid-Level
18개 질문Web API 개발
Mid-Level
22개 질문Authentication & Authorization
Mid-Level
18개 질문HttpClient & 네트워킹
Mid-Level
20개 질문JSON 직렬화
Mid-Level
20개 질문Entity Framework Core 고급
Mid-Level
25개 질문C# 고급 기능
Mid-Level
20개 질문Clean Architecture
Mid-Level
20개 질문Logging, Monitoring & Observability
Mid-Level
22개 질문단위 테스트와 xUnit
Mid-Level
20개 질문통합 테스트
Mid-Level
18개 질문Docker & Containerization
Mid-Level
16개 질문NuGet 패키지 관리
Mid-Level
16개 질문Memory Management & GC
Senior
22개 질문리액티브 프로그래밍
Senior
24개 질문Async/await 및 패턴
Senior
26개 질문.NET 디자인 패턴
Senior
24개 질문성능 최적화
Senior
22개 질문보안 및 모범 사례
Senior
24개 질문SignalR 및 실시간
Senior
22개 질문마이크로서비스 아키텍처
Senior
25개 질문