"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > NODE 면접 질문...

NODE 면접 질문...

2024-11-05에 게시됨
검색:109

NODE Interview Questions...

1. Node.js란 무엇인가요?

답변: Node.js는 개발자가 서버 측에서 JavaScript 코드를 실행할 수 있도록 해주는 Chrome의 V8 JavaScript 엔진을 기반으로 구축된 런타임 환경입니다. 확장 가능한 네트워크 애플리케이션을 구축하도록 설계되었으며 비차단 이벤트 기반 아키텍처를 지원합니다.

2. Node.js와 JavaScript의 차이점은 무엇입니까?

답변: JavaScript는 브라우저에서 실행되는 프로그래밍 언어입니다.
Node.js는 JavaScript가 서버 측에서 실행될 수 있도록 하는 런타임 환경입니다.

3. Node.js의 이벤트 중심 프로그래밍이란 무엇입니까?

답변: 이벤트 중심 프로그래밍은 프로그램의 흐름이 사용자 작업, 센서 출력 또는 다른 프로그램의 메시지와 같은 이벤트에 의해 결정되는 프로그래밍 패러다임입니다. Node.js에서 이벤트 기반 프로그래밍은 이벤트 이미터와 리스너를 사용하여 비동기 작업을 처리하는 데 핵심입니다.

4. process.nextTick()과 setImmediate()의 차이점은 무엇입니까?

답변: process.nextTick()은 현재 작업이 완료된 후 이벤트 루프가 계속되기 전에 실행할 콜백을 예약합니다.
setImmediate()는 I/O 이벤트 후에 이벤트 루프에 콜백이 배치되도록 예약합니다.

5. Node.js는 비동기 작업을 어떻게 처리합니까?

답변: Node.js는 이벤트 중심 아키텍처와 함께 단일 스레드, 비차단 I/O 모델을 사용합니다. 콜백, Promise 및 async/await를 활용하여 비동기 작업을 처리하므로 서버가 메인 스레드를 차단하지 않고 동시에 많은 요청을 처리할 수 있습니다.

6. Node.js의 스트림이란 무엇입니까?

답변: 스트림은 데이터를 청크로 읽거나 쓸 수 있게 해주는 Node.js의 객체입니다. 대용량 데이터를 더 작고 관리 가능한 청크로 처리하여 메모리 사용량을 줄이는 데 사용됩니다. 스트림에는 네 가지 유형이 있습니다.

읽기 가능(예: fs.createReadStream())
쓰기 가능(예: fs.createWriteStream())
이중(읽기 및 쓰기 가능)
변환(출력이 입력의 변환인 이중 스트림 유형)

7. Node.js의 동기 코드와 비동기 코드의 차이점은 무엇입니까?

답변: 동기 코드가 차단되고 있습니다. 다음 작업으로 이동하기 전에 각 작업이 완료될 때까지 기다립니다.
비동기 코드는 비차단형입니다. 이를 통해 작업이 완료될 때까지 기다리지 않고 프로그램이 계속 실행될 수 있습니다(콜백, 약속 또는 비동기/대기를 통해 처리됨).

8. Express.js의 미들웨어 기능은 무엇입니까?

답변: Express.js의 미들웨어 기능은 요청-응답 주기 동안 실행되는 기능입니다. 다음 미들웨어 기능으로 제어를 전달하기 전에 요청, 응답을 수정하거나 일부 논리를 실행할 수 있습니다. 일반적인 유형은 다음과 같습니다.

애플리케이션 수준 미들웨어: express() 인스턴스에 바인딩됨
라우터 수준 미들웨어: express.Router()
인스턴스에 바인딩됨 오류 처리 미들웨어

9. Node.js에서 이벤트 루프는 어떻게 작동하나요?

*답변: * 이벤트 루프는 Node.js에서 비동기 콜백을 처리하는 역할을 합니다. 호출 스택, 작업 대기열 및 I/O 작업을 지속적으로 모니터링합니다. 호출 스택이 비어 있으면 이벤트 큐의 작업을 처리하여 과도한 작업을 연기하여 비차단 I/O를 보장합니다.

10. Node.js에서 클러스터 모듈의 용도는 무엇입니까?

답변: 클러스터 모듈을 사용하면 Node.js가 동일한 서버 포트를 공유하는 하위 프로세스(작업자)를 생성할 수 있습니다. 이는 Node.js의 여러 인스턴스를 실행하여 더 많은 요청을 동시에 처리함으로써 로드 밸런싱과 멀티 코어 시스템을 최대한 활용하는 데 도움이 됩니다.

11. Node.js에서 require()와 import의 차이점은 무엇입니까?

답변: require()는 CommonJS 모듈 시스템의 일부이며 동기식입니다. ES6 이전의 Node.js 버전에서 모듈을 로드하는 데 사용됩니다.
import는 ES6 모듈 시스템의 일부이며 JavaScript의 기본 모듈 시스템과 함께 작동하여 트리 쉐이킹 및 정적 분석을 지원합니다. ECMAScript 모듈이 포함된 최신 버전의 Node.js에서 사용됩니다.

12. Node.js에서 오류를 어떻게 처리합니까?

답변: 오류 처리는 여러 가지 방법으로 수행할 수 있습니다.

오류 우선 패턴으로 콜백 사용(콜백(err, 결과))
거부된 약속에 대해 .catch()와 함께 약속 사용
async/await
와 함께 try...catch 블록 사용 오류 처리를 위해 Express.js의 미들웨어 사용

13. package.json 파일의 목적은 무엇입니까?

답변: package.json은 프로젝트 및 해당 종속성에 대한 메타데이터가 포함된 Node.js 프로젝트의 매니페스트 파일입니다. 프로젝트의 이름, 버전, 기본 진입점, 스크립트, 종속성, devDependency 및 기타 구성을 정의합니다.

  1. Node.js 애플리케이션을 어떻게 보호하나요? 답변: 보안 통신을 위해 HTTPS를 사용하십시오. SQL 주입 및 XSS(교차 사이트 스크립팅)를 방지하기 위해 데이터 유효성 검사 및 삭제를 구현합니다. 강력한 인증 및 승인 메커니즘(예: JWT)을 사용합니다. 환경 변수와 보안 스토리지를 사용하여 민감한 데이터를 보호하세요. 속도 제한 및 시간 초과로 DOS 공격을 방지합니다. 패키지를 최신 상태로 유지하고 npm audit과 같은 감사 도구를 사용하세요.

15. fs.readFile()과 fs.createReadStream()의 차이점은 무엇입니까?

*답변: * fs.readFile()은 전체 파일을 메모리로 읽은 다음 파일 내용으로 콜백을 실행합니다.
fs.createReadStream()은 파일을 청크로 읽어서 데이터를 한꺼번에 로드하는 대신 데이터를 스트리밍하므로 대용량 파일의 경우 메모리 효율성이 더 높습니다.

릴리스 선언문 이 글은 https://dev.to/kamlesh_gupta_539c974fb0d/node-interview-questions-5fg4?1에서 복제됩니다.1 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3