백엔드 개발 · 중급
Node.js에서 Stream의 종류와 각각의 사용 사례를 설명해주세요.
힌트 · Readable, Writable, Transform, Duplex 네 종류가 있으며, 대용량 데이터 처리에 효율적입니다.
ReadableWritableDuplexTransform백프레셔
모범답안
Node.js에서 Stream은 데이터를 조각조각 처리할 수 있게 해주는 강력한 도구입니다. 크게 네 가지 종류가 있습니다.
첫째, Readable Stream은 데이터를 읽어오는 스트림입니다. 파일 읽기나 HTTP 응답 처리 등에 사용됩니다.
둘째, Writable Stream은 데이터를 쓰는 스트림입니다. 파일 쓰기나 HTTP 요청 전송 등에 활용됩니다.
셋째, Transform Stream은 데이터를 읽고 쓰는 동시에 변환하는 스트림입니다. 압축이나 암호화 등에 사용됩니다.
마지막으로 Duplex Stream은 Readable과 Writable의 기능을 모두 가진 스트림입니다. 소켓 통신 등에 사용됩니다.
Stream을 사용하면 대용량 데이터를 메모리에 한 번에 올리지 않고 효율적으로 처리할 수 있으며, 백프레셔 메커니즘을 통해 데이터 처리 속도를 조절하여 안정적인 시스템을 구축할 수 있습니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 Node.js 면접 질문
- Node.js의 Event Loop과 콜백 큐(Callback Queue)의 동작 원리를 설명해주세요.
- Promise와 async/await의 차이점과 각각의 사용 시나리오를 비교해주세요.
- Express.js에서 에러 핸들링 미들웨어의 특징과 구현 방법을 설명해주세요.
- npm과 yarn의 차이점과 package-lock.json의 역할에 대해 설명해주세요.
- Node.js에서 Buffer 객체의 용도와 문자열과의 차이점을 설명해주세요.
- Node.js의 Event Loop가 멀티코어 시스템에서 CPU 집약적 작업을 처리할 때의 한계점과 이를 해결하기 위한 Worker Threads의 내부 동작 원리를 설명해주세요.