ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [job preparation] 기술 면접4 - 재귀,UI/UX, ...
    codeStates front-end/Job Preparation 2023. 3. 13. 12:54
    반응형

    목차

       

       

       

       

      📌기술 면접 tip!

       

      결론은 간단하게, 설명은 구체적으로 자신의 언어로 설명할 수 있어야 함
      간명한 정리와 풍부한 설명을 위해서는 지속적인 모의 면접을 통해 기술 설명을 연습하고,
      어려운 개념에 대해서 깊게 고민하고 블로그에 기록하는 연습이 필요

       

       

       

       

      기술 면접 준비

       

       

       

      재귀

      • 재귀를 활용하기 좋은 상황은 언제인지 예시를 들어 설명해주세요.

       

      우선 재귀적 호출이란 자기 자신을 호출하는 것입니다. 이를 구현하는 것을 재귀 함수라고 합니다.

      재귀적인 표현이 자연스러운 경우 재귀 함수를 쓰는데, 예를 들어 피보나치 수열이라던지, 알고리즘을

      기술한 그대로 코드를 표현할 수 있게 됩니다. 또한 점화식 스타일이나 분할정복같은 경우도 있습니다.

      또한 중첩된 반복문이 많거나 반복문의 중첩 횟수를 예측하기 어려운 경우에도 재귀 함수를 씁니다.

      객체를 문자열로 바꾸는 함수가 대표적인 예시입니다.

       

       

      UI/UX

      • UI, UX의 개념과 두 개념의 관계에 대해서 설명해주세요.

       

      반복되는 문제점에 과거의 다른 사람이 해결한 결과물을 재사용하기 좋은 형태를 만든 패턴을

      UI 디자인 패턴이라고 하고, UX는 사용자 경험이라고 부릅니다. UX와 UI(User Interface) 디자인 모두

      사용자를 위한 최상의 최종 제품을 제공하기 위함이라는 공통분모가 있지만 두 분야 사이에는 분명한 차이가 존재합니다.

      UX가 전체 경험을 구성하는 것이라면 UI(사용자 인터페이스)는 사용자가 상호 작용할 시각적이면서

      유형적 요소를 만들어 나가는 데 중점둡니다. UX/UI의 조화로운 협력을 통해 제품이 개발되어야 하며,

      이 두 영역의 역할은 제품의 성공에 있어 모두 동일하게 중요합니다.

       

       

      Custom Component

      • Styled Components를 사용해보면서 느낀 장점을 이야기해주세요.

       

      페이징이 렌더링되는 요소에 맞춰 해당 스타일만 삽입하고 그때그때 필요한 스타일만 로드합니다.

      스타일에 대한 고유 클래스명을 생성하고, 중복이나 오타 걱정이 없습니다

      더이상 사용되지 않는 CSS를 쉽게 삭제 가능하며, 모든 스타일의 특정 요소와 연결되어 있기에

      해당 요소가 삭제되면 스타일도 삭제됩니다.

      동적 스타일도 편해서 props가 있으면 A, 없으면 B와 같이 직관적으로 개별 스타일링이 가능합니다.

       

      • useRef가 필요한 상황을 예시를 들어 설명해주세요.

       

      먼저 useRef을 쓰는 이유는 react는 DOM을 직접 건드릴 수 없기 때문에 DOM객체 주소가 

      필요한 상황이 계속 발생 되어 useRef메서드가 만들어졌습니다. 즉 DOM을 직접 선택해야하는 상황이

      발생할 때 이 메서드를 씁니다. focus, text selection, media playback, 애니메이션 적용 등인 상황에

      useRef 메서드를 씁니다

       

       

      Redux

      • 상태관리 라이브러리의 필요성에 대해서 설명해주세요.

       

      컴포넌트에서 사용하는 상태가 변경되면 컴포넌트는 리렌더링되면서 변하는 값을 표시합니다.

      대부분이 이 state를 다른 자식 컴포넌트에도 적용하기 위해 전달하는 경우 props로 값을 내려줍니다

      허나, 이 state값이 계속해서 늘어난다면, 매우 비효율적인 상황이 발생됩니다.

      이를 해결하기 위해 리덕스가 나왔습니다. 리덕스는 전역 상태를 관리하는 라이브러리를 뜻합니다.

       

      • Redux의 주요 개념들과 연결 관계를 설명해주세요.

       

      변경될 상태에 대한 정보가 담긴 action 객체를 생성 해서 dispatch 함수의 인자로 전달, reducer 함수로 전달해

      전역 상태 저장소인 store의 상태를 변경하여 화면의 리렌더링됩니다.

       

       

      웹 표준 & 웹 접근성

      • Semantic HTML의 필요성을 예시를 들어 설명해주세요.

       

      시멘틱이란 ' 의미가 있는 ' 이라는 뜻의 영단어입니다.  의미가 있는 html이 필요한 이유는

      이름만 봐도 의미가 파악된다면 id, class 작성에 필요한 시간 소모가 줄고 개발자간의 소통이

      원할하게 이루어집니다. 또한 html코드만 봐도 문서 구조 파악이 되기 때문에 검색 호율성, 웹 접근성을

      향상시킬 수 있습니다.

       

      네트워크 심화

      • IP 프로토콜의 한계에 대해서 설명해주세요.

       

      ip 프로토콜 한계에는 비연결성과 비신뢰성있습니다. 패킷을 받을 대상이 없거나 서비스 불능 상태여도

      클아이언트 서버의 상태를 파악할 방법이 없기 때문에 패킷을 그대로 전송하거나 데이터 패킷 중간에

      소실되도 클라이언트는 파악할 수 없으면 노드 전달 순서를 장담할 수 없습니다.

       

      • HTTP 프로토콜의 특징에 대해 설명해주세요.

       

      HTTP 프로토콜의 특징은 무상태성과 비연결성이 있습니다. 예를 들어 커피를 주문하고 있는데 중간에 점원이 바뀌면

      그 점원은 주문내역을 기억할 수 없습니다. 점원이 바뀐다면 다른 점원에서 미리 알려주어야합니다. 

      즉 다시 말해 클라이언트가 요청을 보내면 클라이언트가 추가 데이터 전송을 해야합니다.

      또한 요청한 후 응답을 받으면 바로 연결을 종료해 불필요한 연결을 하지 않고 서버를 유지합니다.

       

       

      반응형

      댓글

    Designed by Tistory.