답변: Node.js는 개발자가 서버 측에서 JavaScript 코드를 실행할 수 있도록 해주는 Chrome의 V8 JavaScript 엔진을 기반으로 구축된 런타임 환경입니다. 확장 가능한 네트워크 애플리케이션을 구축하도록 설계되었으며 비차단 이벤트 기반 아키텍처를 지원합니다.
답변: JavaScript는 브라우저에서 실행되는 프로그래밍 언어입니다.
Node.js는 서버 측에서 JavaScript를 실행할 수 있게 해주는 런타임 환경입니다.
답변: 이벤트 중심 프로그래밍은 프로그램의 흐름이 사용자 작업, 센서 출력 또는 다른 프로그램의 메시지와 같은 이벤트에 의해 결정되는 프로그래밍 패러다임입니다. Node.js에서 이벤트 기반 프로그래밍은 이벤트 이미터와 리스너를 사용하여 비동기 작업을 처리하는 데 핵심입니다.
답변: process.nextTick()은 현재 작업이 완료된 후 이벤트 루프가 계속되기 전에 실행되도록 콜백을 예약합니다.
setImmediate()는 I/O 이벤트 후에 이벤트 루프에 배치되도록 콜백을 예약합니다.
답변: Node.js는 이벤트 중심 아키텍처를 갖춘 단일 스레드, 비차단 I/O 모델을 사용합니다. 콜백, Promise 및 async/await를 활용하여 비동기 작업을 처리하므로 서버가 메인 스레드를 차단하지 않고 동시에 많은 요청을 처리할 수 있습니다.
답변: 스트림은 데이터를 청크로 읽거나 쓸 수 있게 해주는 Node.js의 객체입니다. 대용량 데이터를 더 작고 관리 가능한 청크로 처리하여 메모리 사용량을 줄이는 데 사용됩니다. 스트림에는 네 가지 유형이 있습니다.
읽기 가능(예: fs.createReadStream())
쓰기 가능(예: fs.createWriteStream())
이중(읽기 및 쓰기 가능)
변환(출력이 입력의 변환인 이중 스트림 유형)
정답: 동기 코드가 차단됩니다. 다음 작업으로 이동하기 전에 각 작업이 완료될 때까지 기다립니다.
비동기 코드는 비차단형입니다. 이를 통해 작업이 완료될 때까지 기다리지 않고 프로그램이 계속 실행될 수 있습니다(콜백, 약속 또는 비동기/대기를 통해 처리됨).
답변: Express.js의 미들웨어 기능은 요청-응답 주기 동안 실행되는 기능입니다. 다음 미들웨어 기능으로 제어를 전달하기 전에 요청, 응답을 수정하거나 일부 논리를 실행할 수 있습니다. 일반적인 유형은 다음과 같습니다.
애플리케이션 수준 미들웨어: express() 인스턴스에 바인딩
라우터 수준 미들웨어: express.Router() 인스턴스에 바인딩
오류 처리 미들웨어
*답변: * 이벤트 루프는 Node.js에서 비동기 콜백을 처리하는 역할을 합니다. 호출 스택, 작업 대기열 및 I/O 작업을 지속적으로 모니터링합니다. 호출 스택이 비어 있으면 이벤트 큐의 작업을 처리하여 과도한 작업을 연기하여 비차단 I/O를 보장합니다.
답변: Node.js는 클러스터 모듈을 사용하여 동일한 서버 포트를 공유하는 하위 프로세스(작업자)를 생성할 수 있습니다. 이는 Node.js의 여러 인스턴스를 실행하여 더 많은 요청을 동시에 처리함으로써 로드 밸런싱과 멀티 코어 시스템을 최대한 활용하는 데 도움이 됩니다.
답변: require()는 CommonJS 모듈 시스템의 일부이며 동기식입니다. ES6 이전의 Node.js 버전에서 모듈을 로드하는 데 사용됩니다.
import는 ES6 모듈 시스템의 일부이며 JavaScript의 기본 모듈 시스템과 함께 작동하여 트리 쉐이킹 및 정적 분석을 지원합니다. ECMAScript 모듈이 포함된 최신 버전의 Node.js에서 사용됩니다.
답변: 오류 처리는 여러 가지 방법으로 수행할 수 있습니다.
오류 우선 패턴의 콜백 사용(callback(err, result))
거부된 Promise에 대해 .catch()와 함께 Promise 사용
async/await와 함께 try...catch 블록 사용
오류 처리를 위해 Express.js의 미들웨어 사용
답변: package.json은 프로젝트 및 해당 종속성에 대한 메타데이터가 포함된 Node.js 프로젝트의 매니페스트 파일입니다. 프로젝트의 이름, 버전, 기본 진입점, 스크립트, 종속성, devDependency 및 기타 구성을 정의합니다.
*정답: * fs.readFile()은 전체 파일을 메모리로 읽어온 다음 파일 내용으로 콜백을 실행합니다.
fs.createReadStream()은 파일을 청크로 읽어 데이터를 한 번에 로드하는 대신 데이터를 스트리밍하므로 대용량 파일의 경우 메모리 효율성이 더 높습니다.
위 내용은 NODE 면접 질문...의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!