지원자가 '싱글 스레드 + 비동기'를 구호로만 외웠는지, 아니면 이벤트 루프와 I/O 위임 구조를 머릿속에 그리고 워크로드별 한계까지 짚을 수 있는지를 가른다.
Node.js는 V8 위에 libuv 이벤트 루프를 얹어 자바스크립트를 서버에서 돌리는 런타임이다. 단일 스레드가 콜 스택을 비우는 동안 파일·네트워크 I/O는 libuv 스레드 풀과 OS 비동기 API로 떠넘기고, 완료된 작업만 콜백·태스크 큐로 돌아와 처리된다. 그래서 동시 연결은 많이 받지만, 루프 위에 CPU 작업을 올리는 순간 그 한 요청이 다른 모든 요청을 막는다.
특정 엔드포인트 하나가 느려지자 무관한 다른 요청까지 같이 늦어졌던 경험이 있다면 이벤트 루프 블로킹 사례로 연결할 수 있다
이미지 처리나 무거운 연산을 워커 스레드·별도 서비스로 빼본 적이 있다면 단일 스레드 한계 대응 사례로 풀 수 있다
Node와 다른 런타임(JVM·Go 등) 사이에서 서버를 골라본 경험이 있다면 워크로드 특성에 따른 런타임 선택 기준으로 정리할 수 있다
PM2 클러스터·Kubernetes 레플리카로 CPU 코어를 활용해본 경험이 있다면 단일 스레드를 수평으로 푸는 전략으로 엮을 수 있다
아직 공개된 답변이 없어요. 첫 공개 답변을 남겨보세요.