Today I Learned (기술 면접)

Parkboss·2023년 4월 6일
0

기술면접

목록 보기
9/12

질문 1)순수함수란 무엇인가요? 불변성과 사이드 이펙트와 연결하여 설명해주세요.✅

대답 1)

순수 함수란 동일한 입력이 주어지면 항상 동일한 출력을 반환하고 사이드이펙트가 없는 함수이다.
입력값이 변경되지 않는 한 항상 같은 결과를 반환하므로 불변성을 유지하며 사이드 이펙트를 일으키지 않으므로 외부 상태를 변경할 수 없는 함수이다.

순수함수의 예

  • add 함수의 경우 외부의 어떤 영향도 미치지 않으며 동일한 인자에 대한 동일한 값을 돌려준다.
function add(a, b) {
	return a + b;
}

add(10, 5) // 결과 : 15
add(10, 5) // 결과 : 15
add(10, 5) // 결과 : 15

순수함수가 아닌 예

  • 함수 호출에 인수를 전달하지는 않았지만 모두 다른 출력을 생성했다.
  • Math.random()은 실행할 때마다 0에서 1사이의 새로운 난수를 생성하므로 프로그램의 의미를 변경하지 않고 0.4011148700956255로 대체 할 수 없다.
Math.random(); // => 0.4011148700956255
Math.random(); // => 0.8533405303023756
Math.random(); // => 0.3550692005082965

불변성이란?

개체가 생성된 후 수정되지 않도록 하는것이다. 불변 객체가 생성되면 변경할 수 없다.
불변 데이터는 수정할 수 없기 때문에 프로그램 상태를 예측 가능하게 유지하여 안전하게 실행될 수 있다.

사이드 이펙트(side effect)란?

부작용으로 함수에서 값을 반환하는 일 외에 외부 변수를 참조하거나, 변경하는 모든 종류의 코드를 의미한다.

순수함수 장점?

  • 예측 가능: 동일한 입력에 대해 동일한 출력을 반환하므로 예측 가능하고 쉽게 파악할 수 있다.
  • 안정성: 부작용이 없기 때문에 경쟁 조건에 대한 걱정없이 안전하게 실행한다.
  • 테스트 용이성: 예측 가능한 결과값을 반환하므로 다른 함수들과 조합하여 재사용 및 유지 관리가 가능하다.

이런 장점으로 개발자가 함수를 다루기 쉬워지고 개발 효율(생산성, 안정성)등을 높일 수 있어 순수함수를 사용한다.

참고 사이트
참고 사이트

질문 2)React의 state와 props에 대해서 설명해주세요.✅

대답 2)

props(함수 매개변수처럼)는 상위에서 하위(부모 컴포넌트)로 데이터를 전달하기 위해 사용하고 변경이 불가합니다.
state(함수 내에 선언된 변수처럼)는 내부 컴포넌트에서 관리하는 데이터 상태를 의미하며 setState 메서드를 통해서만 수정이 가능하다.

꼬리질문 1) React 컴포넌트에서 상태(state)를 어떻게 관리하고 업데이트하나요?

useState훅을 사용하여 setState메서드를 사용하여 관리 및 업데이트를 합니다.
useState 초기값을 설정하고 state와 setState 두 가지 요소를 배열 형태로 설정한다.
state 값을 변경할려면 setState 함수를 불러서 변경될 값을 넣어주면 된다.

profile
ur gonna figure it out. just like always have.

0개의 댓글