sora2821.log
로그인
sora2821.log
로그인
Quiz - React 코드 재사용, 브라우저 저장소, 스레드
이소라
·
2023년 5월 19일
팔로우
0
0
Interview Questions
목록 보기
35/67
1. React에서 코드 재사용에 있어서 가장 많이 사용되는 방법이 컴포넌트를 통한 재사용이고, 커스텀 훅을 통한 재사용이 있는데 해당 방식의 차이점에 대해 설명해주세요.
컴포넌트을 통한 재사용은 UI 요소를 재사용하는 데 중점을 두는 반면, 훅을 통한 재사용은 범용적인 논리나 기능을 공유하는데 중점을 둡니다.
같은 로직을 여러 UI에서 사용하고 싶을 때는 커스텀 훅, 같은 UI를 재활용하고 싶을 때는 컴포넌트를 통한 재사용을 사용합니다.
예를 들어 데이터 비동기 처리를 하는 useReducer 함수를 커스텀 훅으로 만들어서 여러 데이터 fetching에 사용했고, 버튼 공통 컴포넌트를 만들어서 재사용하여 사용했습니다.
1.1 훅의 규칙에 대해 설명해주세요.
React 함수의 최상위에서만 훅을 호출해야 합니다.
컴포넌트가 렌더링 될 때마다 항상 동일한 순서로 훅이 호출되야하기 때문입니다.
오직 React 함수 내에서 훅을 호출해야 합니다.
컴포넌트의 모든 상태 관련 로직은 React 함수 내에서 호출해야 합니다.
2. 브라우저 저장소에 대해서 설명해주세요.
브라우저 저장소는 사용자 장치에 로컬로 데이터를 저장하는 웹 브라우저의 기능을 나타냅니다.
브라우저 저장소의 주요 유형으로 쿠키와 웹 스토리지가 있습니다.
쿠키
쿠기는 서버에서 브라우저에 전달하는 데이터 조각입니다.
쿠키는 최대 4KB까지 저장 가능하고 HTTP 헤더를 통해 조작합니다.
웹 스토리지
웹 스토리지는 HTML5에 추가된 저장소로 키와 값의 형태로 데이터를 저장할 수 있습니다.
웹 스토리지는 키를 통해 데이터를 조회할 수 있고 최대 5MB까지 저장 가능합니다.
웹 스토리지 중 local storage는 브라우저 창을 닫아도 데이터가 유지되는 반면에, session storage는 브라우저 창을 닫으면 데이터가 삭제됩니다.
3. 싱글 스레드와 멀티 스레드는 어떤 특징, 어떤 장단점 가지고 있는가?
싱글 스레드
싱글 스레드는 하나의 프로세스에서 하나의 스레드만 실행하는 기술을 말합니다.
싱글 스레드의 장점
문맥 교환이나 자원 접근에 대한 동기화를 하지 않아도 되므로 비용이 절감됩니다.
스레드를 하나만 사용하므로 CPU, 메모리를 적게 사용합니다.
싱글 스레드의 단점
연산량이 많은 작업을 하는 경우, 그 작업이 완료되어야 다른 작업을 수행할 수 있습니다.
에러 처리를 못하는 경우 멈춥니다.
멀티 스레드
멀티 스레드는 CPU의 최대 활용을 위해 2개 이상의 프로그램을 동시에 실행하는 기술입니다. 메인 스레드 외의 추가적인 스레드를 이용하여 병렬 적으로 작업을 처리합니다.
멀티 스레드의 장점
프로그램의 일부분이 중단되거나 긴 작업을 수행하더라도 다른 스레드에서 프로그램의 수행이 계속되므로 사용자에 대한 응답성이 증가합니다.
프로세스 내 자원들과 메모리를 공유하기 때문에 스레드 간의 통신이 필요한 경우 쉽게 데이터를 주고 받을 수 있습니다.
멀티 스레드의 단점
문맥 교환이나 동기화 때문에 싱글 스레드보다 스레드 생성 시간이 느립니다.
공유한 자원에 동시에 접근하는 경우, 다른 스레드에서 사용 중인 변수나 자료구조에 접근하여 엉뚱한 값을 읽어오거나 수정할 수 있습니다.
참고
Blog - 브라우저 저장소에 대해서 설명해보세요.
Blog - 싱글스레드(Single thread) vs 멀티스레드 (Multi thread)
이소라
팔로우
이전 포스트
Quiz - 인증/인가, XSS/CSRF, CORS
다음 포스트
Quiz - Agile, devDependencies, Package.json, XSS/CSRF, 인증/인가, SEO, 성능 최적화
0개의 댓글
댓글 작성