[22.09.19] 기술 면접 준비 - 3

Yujin Hong·2022년 9월 19일
0

SEB_FE_40

목록 보기
6/8

재귀

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

첫째, 주어진 문제를 비슷한 구조의 더 작은 문제로 나눌 수 있는 경우
둘째, 중첩된 반복문이 많거나 반목문의 중첩 횟수를 예측하기 어려운 경우
셋째, 반복문으로 작성된 코드를 더욱 간결하고 이해하기 쉽게 작성하고 싶은 경우

재귀를 활용하면 좋습니다.

UI/UX

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

UI는 사람들이 컴퓨터와 상호 작용하는 시스템으로,
화면을 효율적이고 질서 있게 구성하는 것을 목표로 합니다.

UX는 사용자가 어떤 제품을 직간접적으로 이용하면서 느끼고 생각하는 총체적 경험으로,
사용자들을 이해하고 배려하여 최상의 경험을 제공하는 것을 목표입니다.

UX는 UI를 포함합니다.
좋은 UX가 좋은 UI를 의미하거나, 좋은 UI가 항상 좋은 UX를 보장하지는 않지만,
나쁜 UI는 보통 나쁜 UX를 유발합니다.

Custom Component

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

HTML+JS+CSS를 묶어서 하나의 JS파일 안에서 컴포넌트 단위로 개발할 수 있습니다.
CSS를 컴포넌트 기반으로 작성하여 재활용 및 캡슐화가 가능합니다.
Props를 활용할 수 있습니다.
전역 스타일을 쉽게 설정할 수 있습니다.
네이밍이나 최적화를 신경 쓸 필요가 없습니다.

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

특정 input DOM 엘리먼트 활용해야 할 경우 사용합니다.
focus, text selection, media playback, 애니메이션 등의 속성을 설정할 수 있습니다.

Redux

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

Props Drilling 문제를 해결할 수 있습니다.

Props Drilling이란 상위 컴포넌트의 state를 props를 통해 전달하고자 하는 컴포넌트로 전달하기 위해 그 사이는 props를 전달하는 용도로만 쓰인 컴포넌트를 거치면서 데이터를 전달하는 현상입니다.
이로 인해 코드의 가독성이 매우 나빠지고 유지보수가 힘들어지며, 불필요한 리렌더링이 발생하여 애플리케이션 성능이 악화됩니다.

이를 전역 상태 저장소를 제공하는 상태관리 라이브러리를 사용함으로써 해결할 수 있습니다.

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

상태가 변경되어야 하는 이벤트가 발생하면, 변경될 상태에 대한 정보가 담긴 Action 객체가 생성됩니다.
이 Action 객체는 Dispatch 함수의 인자로 전달됩니다.
Dispatch 함수는 Action 객체를 Reducer 함수로 전달해줍니다.
Reducer 함수는 Action 객체의 값을 확인하고, 그 값에 따라 전역 상태 저장소 Store의 상태를 변경합니다.
상태가 변경되면, React는 화면을 다시 렌더링합니다.

웹 표준 & 웹 접근성

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

첫째, 개발자간 소통을 위해서 입니다.
모두 동일한 태그로 작성한다면 요소의 이름을 보고서는 어떤 기능을 하는지 전혀 파악할 수 없기 때문에 주석을 작성해서 설명하거나 id나 class를 일일이 표기해야합니다.

둘째, 검색 효율성을 위해서 입니다.
검색 엔진은 HTML 코드를 보고 문서의 구조를 파악하기 때문에, 모두 동일한 태그로 작성한다면 모든 요소가 비슷한 중요도의 내용을 담고 있다고 판단합니다.

셋째, 웹 접근성을 위해서 입니다.
sematice하게 작성된 HTML은 화면의 구조에 대한 정보까지 추가로 전달해줄 수 있어 콘텐츠를 좀 더 정확하게 전달할 수 있습니다.

네트워크 심화

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

첫째, 비연결성입니다.
패킷을 받을 대상이 없거나 서비스 불능 상태여도 패킷을 전송합니다.

둘째, 비신뢰성입니다.
중간에 패킷이 사라질 수 있고, 패킷의 순서를 보장할 수 없습니다.

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

첫째, 무상태성입니다.
서버가 클라이언트의 상태를 보존하지 않기 때문에, 응답 서버를 쉽게 바꿀 수 있어 무한한 서버 증설이 가능합니다.

둘째, 비연결성입니다.
실제로 요청을 주고 받을 때만 연결을 유지하고 응답을 주고 나면 연결을 끊어, 최소한의 자원만 사용할 수 있습니다.

인증 / 보안

Cookie의 MaxAge, Expires 옵션이 무엇인지, 설정하지 않으면 어떻게 되는지 설명해주세요.

쿠키의 유효시간을 설정합니다.

설정하지 않으면 브라우저가 실행 중일 때만 쿠키, 즉 임시 쿠키를 사용할 수 있고, 브라우저를 종료하면 해당 쿠키는 삭제됩니다.

profile
Web Frontend

0개의 댓글