패스잇
백엔드 개발 · 중급

Node.js의 Event Loop과 콜백 큐(Callback Queue)의 동작 원리를 설명해주세요.

힌트 · Event Loop은 콜 스택이 비어있을 때 콜백 큐의 작업을 콜 스택으로 이동시키는 메커니즘입니다.

단일 스레드비동기콜 스택태스크 큐이벤트 루프

모범답안

Node.js는 단일 스레드 기반으로 동작하지만, 비동기 작업을 효율적으로 처리하기 위해 Event Loop와 콜백 큐를 사용합니다.

Event Loop는 콜 스택과 콜백 큐를 계속해서 감시하며, 콜 스택이 비어있을 때 콜백 큐에 있는 콜백 함수를 콜 스택으로 이동시켜 실행합니다.

콜백 큐는 setTimeout, HTTP 요청 등 비동기 작업이 완료된 후 실행되어야 할 콜백 함수들이 대기하는 공간입니다. 예를 들어, setTimeout(callback, 0)을 호출하면 callback 함수는 바로 실행되는 것이 아니라 콜백 큐에 들어가고, Event Loop에 의해 콜 스택이 비워진 후에 실행됩니다.

이러한 메커니즘 덕분에 Node.js는 I/O 작업이 많은 환경에서도 효율적인 성능을 유지할 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 Node.js 면접 질문

← Node.js 면접 질문 전체 보기