핵심 요약 (불릿)
- Web Worker: 메인 스레드와 분리된 백그라운드 스레드
- 역할: 무거운 연산을 비동기적으로 처리
- 장점: UI 멈춤(프리즈) 방지, 성능·반응성 향상
- 사용 예: 대규모 데이터 처리, 이미지 변환, 암호화 연산
실제 면접 답변 예시 (문장형)
“Web Worker는 브라우저의 메인 스레드와 분리된 환경에서 코드를 실행하는 기능으로, 무거운 연산을 백그라운드에서 처리해 UI가 멈추지 않도록 도와줍니다. 예를 들어 대량 데이터 파싱이나 이미지 처리처럼 시간이 걸리는 작업을 Web Worker로 넘기면, 사용자 인터페이스는 부드럽게 유지되면서 성능도 안정적으로 확보할 수 있습니다.”
실무 팁 & 주의점
- DOM에 직접 접근할 수 없으므로 메시지 기반 통신(postMessage)을 명확히 설계해야 함.
- Worker 생성 비용이 있으므로 자잘한 작업을 너무 많이 분리하면 오히려 비효율적일 수 있음.
- SharedWorker, Worker Pool 패턴 등을 고려하면 확장성과 자원 관리가 더 안정적임.
'Coding Study > 면접질문' 카테고리의 다른 글
| Web Components는 무엇이며, 프론트엔드에서 이를 활용할 때 어떤 장점이 있나요? (0) | 2025.11.26 |
|---|---|
| JavaScript 이벤트 루프(Event Loop)는 어떻게 동작하며, 프론트엔드 애플리케이션에서 왜 중요한가요? (0) | 2025.11.26 |
| Intersection Observer API는 무엇이며, 프론트엔드에서 어떤 상황에서 활용하면 효과적인가요? (0) | 2025.11.26 |
| 프론트엔드에서 이미지 최적화(Image Optimization)를 수행하는 주요 방법과 그 효과는 무엇인가요? (0) | 2025.11.19 |
| Tree Shaking이 무엇이며, 프론트엔드 빌드 과정에서 이를 활용하면 어떤 이점이 있나요? (0) | 2025.11.19 |