항해99를 마치고 취업 준비 스터디인 스프린터스에 신청했습니다. 앞으로 2주 간은 기술면접 준비와 이력서 수정 등에 집중하며 보낼 예정입니다. 그래서 기술면접을 준비하는 김에 더 쉽게 기억할 수 있도록! 그리고 기술면접을 준비하는 다른 분들에게 조금이라도 도움이 될 수 있도록 블로그에 기록으로 남겨보려고 합니다.
📕 오늘의 질문
Node.js를 사용해야 하는 이유를 설명해보세요.
노드를 사용해야 하는 이유, 즉 노드의 장점을 주제로 정리하겠습니다.
먼저 간단히 노드JS의 특징을 짚어보겠습니다.
노드JS의 특징
- Non-blocking I/O
- Event-driven
- Data-intensive
- I/O intensive
1) 비동기 I/O 처리, 이벤트 기반
노드는 싱글 스레드로 작동하여 오래 걸리는 작업을 기다리지 않고,
다음 코드를 바로 실행합니다. 이는 서버를 효율적으로 운용할 수 있는 방법입니다.
2) 뛰어난 확장성
노드에서는 npm을 사용하여 이미 만들어진 다양한 모듈을 사용할 수 있습니다.
npm이란 node package manager로 일종의 오픈소스 생태계입니다.
npm의 이러한 모듈을 활용하여 또다른 모듈을 만들거나 프레임워크를 만들 수도 있습니다.
사례: 페이팔, 링크드인
주의) CPU를 많이 사용하는 분야에서는 사용을 주의해야 합니다.
노드는 멀티 스레딩 환경이 아니기 때문에 CPU가 많이 사용되는 경우 효율적인 운용이 어렵습니다.
> CPU가 여러 개여도 하나 만의 CPU를 사용
> 노드는 단순 IO(입출력) 처리가 많은 경우 유리 (ex. 소켓)
📙 파생 질문
스타트업이 Node.js를 사용하면 좋은 점은 무엇이 있나.
빠른 속도와 우수한 퍼포먼스
페이팔과 링크드인의 사례를 통해 알아보겠습니다.
페이팔: 5명의 자바 개발자 vs 2명의 노드 개발자로 시험해봤을 때, 후자가 더 우수한 퍼포먼스를 냈다고 합니다.
여기서 퍼포먼스란? 앱의 퍼포먼스 뿐만 아니라 생산성을 의미합니다!
링크드인: 노드JS로 속도를 2배에서 10배까지 끌어올렸다고 합니다.
출처
https://zooo.kr/fxbbs/f_view.php?i_code=smart&i_id=123
https://imraccoon-developer.tistory.com/12
https://www.youtube.com/watch?v=UCd6LorxpkY
https://www.youtube.com/watch?v=fXBZvpG_IUQ
'기술면접 준비' 카테고리의 다른 글
Node.js가 작동하는 방식: 단일 스레드(Single Thread), 비동기(Asynchronous) (0) | 2022.06.29 |
---|---|
REST API란?🧐 REST API 개념 알아보기 (0) | 2022.06.29 |
클로저를 사용하면 외부의 함수에 접근할 수 있다고? (0) | 2022.06.22 |
로그인 관련 필수 지식, JWT의 기본개념 (0) | 2022.06.15 |
한끗차인 것 같지만 다른 URI, URL, URN의 차이점 살펴보기 (0) | 2022.06.14 |