[KAKAO.GG] 기술 스터디 2022년 11월 24일

cptkuk91·2022년 12월 19일
1

Tech Interview

목록 보기
3/7

Props Drilling 관련해서 설명해주세요.

Props Drilling이란 하위 components로 props를 전달하는 과정을 의미합니다.
Props를 3~5개 전달할 때 문제가 없지만(혹은 그 이상), 만약 추적이 힘들정도로 props를 계속 내려줘야하는 상황이 발생하면 유지보수가 어려워집니다. 따라서 전역 상태 관리 라이브러리 Redux, Mobx, Recoil등을 사용해 props를 관리합니다.

고급언어와 저급언어의 차이.

고급 언어는 인간 중심적입니다.
사람이 쉽게 이해할 수 있고, 작성 및 수정이 편리합니다. 하지만 크기가 크고, 속도가 느리다는 단점이 있습니다. (Java, C, Python, Ruby등이 있습니다.)

반대로 저급 언어는 컴퓨터-기계 중심적입니다.
고급 언어와 비교했을 때, 크기가 작고, 다루기 어렵습니다. 하지만 실행속도가 빠르다는 장점이 있습니다. (0과 1로 구성된 컴퓨터 언어를 얘기합니다.)
하드웨어, 디바이스 드라이버에 많이 사용됩니다.

라이브러리와 프레임워크의 차이.

라이브러리 : 개발할 때 특정 기능을 모아둔 코드, 함수들의 집합이며 코드 작성 시 활용 가능한 도구들을 의미합니다.
프레임워크 : 개발할 때 기능 구현에 집중할 수 있도록 일정 형태와 필요한 기능을 갖춘 골격, 뼈대를 의미합니다.
예를들면 Java 서버 개발에 사용하는 Spring, Python 서버 개발에 사용하는 Django, Flask, Android 앱 개발에 사용하는 Android, 웹 개발에 사용하는 Vue, Angular

번외로 Vue, Angular는 프레임워크입니다. 하지만 React는 Library라고 홈페이지에 명시됩니다. React.js는 프레임워크가 아니라 인터페이스 개발을 위해 사용하는 Library입니다.

또 다른 예시로 예를들자면, 프레임워크가 주방이라면, 라이브러리는 주방 도구입니다.

API에 대해서 설명해주세요.

API는 프로그래밍 언어가 제공하는 기능을 제어할 수 있는 인터페이스입니다.
인터페이스는 시스템 간 정보 교환을 교환하는 공유 경계를 의미합니다. 예를들어 "마우스나 키보드는 시스템 데이터를 전송하는 인터페이스를 제공한다" 말할 수 있습니다.
웹 개발에서 API를 들여다보면 특정 사이트에서 데이터를 공유할 경우 어떤 방식으로 정보를 요청해야 합니다. 어떤 데이터를 제공 받을 수 있을지에 대한 규격을 API라고 합니다.

식당과 점원을 가지고 API 예를 들어보겠습니다.
손님이 점원에게 주문을 합니다. → 점원은 요리사한테 주문을 전달합니다. → 요리사는 요리를 만들어 점원에게 전달합니다. → 점원은 손님에게 요리를 전달합니다.
그렇다면 여기서 API는 점원입니다.

profile
메일은 매일 확인하고 있습니다. 궁금하신 부분이나 틀린 부분에 대한 지적사항이 있으시다면 언제든 편하게 연락 부탁드려요 :)

0개의 댓글