본문 바로가기

면접

기술 면접 준비 - 프론트엔드

1. 상태관리를 왜 할까요? 그리고 평소 state 관리는 어떻게 하시나요?

A.보통 부모자식관계에 있는 컴포넌트들은 state를 props로 전달하게 됩니다. 이 데이터는 부모에서 자식으로 가기도, 자식에서 부모로 전달되기도 합니다. 컴포넌트간 상태 의존도가 높아져 너무 여러 컴포넌트를 거치게되면 props가 어디에서 시작된 것인지 추적을 하기가 힘들기 때문에 유지 보수를 하는데 문제가 생깁니다. 따라서 상태 관리를 전역에서 할 수 있는 tool이 필요합니다. 저는 평소 state관리를 할 때 사용하는 방법으로 useState를 사용하고 있습니다.  useState는 상태의 초기값을 인자로 받아, 상태값과 해당 상태의 업데이트 된 상태를 반환합니다. 이를 통해 컴포넌트 내부에서 상태를 읽고 업데이트 할 수 있습니다.

 

2. Redux가 무엇인가요, 왜 Redux를 사용하시나요?

A. redux는 상태관리 라이브러리 입니다. 리덕스는 애플리케이션의 상태를 예측가능하고 변화를 추적가능하게 만들어디버깅과 테스트가 쉬워 관리가 수월합니다.

 

3. Redux 말고 다른 전역 상태관리 아는 것 하나와 차이점을 말해주세요

A. Redux는 하나의 큰 객체에 모든 전역 상태를 저장하는 반면, jotai는 atom을 사용하여 각 상태를 독립적으로 관리합니다. 

 

4. 버츄얼 돔과 리얼 돔의 차이를 설명해주세요 

리얼돔의 경우 조작 시에 비용이 많이 들고 복잡하지만, 버츄얼 돔 조작은 가벼운 자바스크립트 객체에서 수행되므로 더욱 빠르고 쉽습니다. 메모리 사용 방면에서 리얼돔은 메모리 낭비가 많고, 버츄얼 돔은 메모리 낭비가 없습니다. 또한 리얼돔의 업데이트 속도는 느리지만, 버츄얼 돔은 업데이트가 빠릅니다. 하지만 리얼돔은 직접 HTML을 업데이트 할 수 있고 버츄얼 돔은 HTML을 직접 업데이트 할 수 없습니다. 

 

'면접' 카테고리의 다른 글

cs 면접 스터디  (0) 2023.08.21