Section3 기술면접

FAST FOX·2023년 5월 9일
0

1. 재귀

재귀의 사전적으로 '원래의 자리로 되돌아가거나 되돌아오다'라는 의미를 가지고 있습니다. 그 의미와 같게 개발적 관점에서는 '자기 자신을 호출하는 함수'를 재귀 함수라고 하고 이러한 제귀 함수를 사용한다면 반복적인 작업을 해야 하는 문제를 좀 더 간결한 코드로 풀어낼 수 있습니다.
재귀함수는 주어진 문제를 비슷한 구조의 더 작은 문제로 나눌 수 있는 경우 또는 중첩된 반복문이 많거나 반복문의 중첩 횟수를 예측하기 어려운 경우에 유용하게 쓰일 수 있습니다.
재귀 함수를 사용법은 함수에 넘겨줄 공통된 인자의 형태를 정하고 더 이상 문제를 쪼갤 수 없어서 재귀함수를 탈출하는 base case와 재귀함수를 호출하여 문제를 더 작게 쪼개는 recursive case를 정하고 코드를 구현합니다.

2. UI/UX

UI란 User Interface의 약자로 사람들이 컴퓨터와 상호 작용하는 시스템을 의미합니다. 우리가 흔히 사용하는 키보드, 마우스 등도 UI라고 할 수 있지만 개발자의 용어로 사용되는 UI란 사용자가 그래픽을 통해 컴퓨터와 정보를 교환하는 작업 환경인 Graphical User Interface(GUI)를 의미합니다.
UX란 User Experience의 약자로 사용자가 어떤 시스템, 제품, 서비스를 직•간접적으로 이용하면서 느끼고 생각하는 총체적 겸험을 의미합니다.
UI와 UX는 무조건적인 상관 관계는 없지만 보통 나쁜 UI가 나쁜 UX를 제공하며 이 둘을 절대 뗴어낼 수 없는 관계이기 때문에 두가지 모두 중요도를 가지고

4. Redux

리덕스를 사용하지 않는 리액트에서는 동일한 데이터라면 항상 같은 곳에서 가지고와야 합니다. 하지만 프로젝트가 커지고 컴포넌트의 깊이가 깊어질 수록 데이터를 계속해서 넘겨줘야 하는 프롭스 드릴링이 생기는데 이를 방지하기 위해서 리덕스를 사용합니다. 이러한 릭덕스는 위에서 말한 문제점을 해결하기 위한 JavaScript상태관리 라이브러리입니다. 리덕스를 사용한다면 컴포넌트가 독립성이 높아지게 되므로 코드에 변화가 생기더라도 다른 컴포넌트에 영향을 미치지 않고 유지보수와 디버깅에 유리하다는 장점이 있습니다.
주의해야할 점은 리덕스에서도 리액트에서 setState 메소드를 사용한 것과 같이 액션이라는 객체를 통해서만 상태를 변경할 수 있다는 점입니다.

profile
준비하는 개발자

0개의 댓글