일상/취준일지

[면접준비] 기술 면접 기초 16일차

뚠뚜 2024. 3. 26. 09:46

원시값과 참조값(array, object)의 차이점을 메모리 관점에서 설명해 주세요.

핵심 키워드 : value(값) / address(주소), 메모리 할당

 

원시값 (Primitive Values)원시값은 숫자, 문자열, 불린값, null, undefined, symbol 같은 기본 데이터 타입입니다.메모리에는 값 자체가 직접 저장됩니다.변수에 원시값을 할당하면, 그 값이 직접 저장되며, 다른 변수에 복사할 때는 그 값의 복사본이 생성됩니다.참조값 (Reference Values)참조값은 객체, 배열, 함수 등이 해당됩니다.변수에 참조값을 할당하면, 메모리에 객체가 저장되고, 변수는 메모리 내 객체의 주소(참조)를 저장합니다.변수간에 객체를 공유할 때, 객체의 실제 데이터가 복사되는 것이 아니라, 메모리 주소(참조)가 복사됩니다.간단히 말해, 원시값은 값 자체가 변수에 저장되는 반면, 참조값은 객체의 메모리 주소가 변수에 저장된다는 차이가 있습니다.

 

깊은 복사와 얕은 복사에 대해 설명해 주세요.

핵심 키워드 : value(값) / address(주소), 값 변경 vs 주소 변경, 메모리 할당

 

얕은 복사 (Shallow Copy)객체의 첫 번째 레벨의 속성만 복사하여 새 객체를 생성합니다.중첩된 객체나 배열은 참조값으로 복사됩니다.예시: Object.assign() 또는 스프레드 문법(...)을 사용한 복사 방법이 얕은 복사에 해당합니다.깊은 복사 (Deep Copy)객체에 중첩된 모든 레벨의 속성을 완전히 복사하여 새로운 객체를 생성합니다.원본과 완전히 독립적인 복사본을 만듭니다.예시: JSON.parse(JSON.stringify(object))를 사용하는 방법이 일반적인 깊은 복사 방법입니다.

 

props와 state의 차이는 무엇인가요?

핵심 키워드 : Read / Write, Mutable, 컴포넌트 상태 관리

 

Props (Properties)부모 컴포넌트로부터 전달받는 데이터입니다.읽기 전용이며, 컴포넌트 내부에서 수정할 수 없습니다.컴포넌트간 데이터를 전달하는 데 사용됩니다.예시: <ChildComponent someProp="value" /> 여기서 someProp는 자식 컴포넌트에 전달된 prop입니다.State컴포넌트 내부에서 관리되는 데이터입니다.동적인 데이터를 다룰 때 사용되며, 상태가 변경되면 컴포넌트가 리렌더링됩니다.컴포넌트 내부에서 생성되고 수정할 수 있습니다.예시: useState 훅을 사용하여 React 함수 컴포넌트에서 상태를 관리합니다즉, Props는 읽기 전용 데이터이며, 부모 컴포넌트에서 전달받는 반면, State는 컴포넌트 내부에서 관리되며 변경 가능한 데이터입니다.