24/1/19 기술면접(4)

2024. 1. 22. 08:55카테고리 없음

1. 클라이언트 사이드 렌더링(CSR)과 서버 사이드 렌더링(SSR)의 개념에 대해 설명해주시고, 장/단점을 설명해주세요.

 

클라이언트 사이드 렌더링(CSR) - 페이지 생성시 자바스크립트를 이용해 동적으로 페이지를 생성합니다.
사용자와 상호작용을 통해 전체페이지를 다시로드하지 않고 특정 부분만 리랜더링 할수 있는 장점이 있습니다.
초기로딩속도가 길고 검색엔진최적화(SEO)에 불리합니다.

서버 사이드 렌더링(SSR) - 서버에서 페이지 생성후 클라이언트에게 제공하는 방식입니다.
초기로딩속도가 빠릅니다. HTML이 이미 만들어졌기 때문에 초기로딩시간이 적습니다.
서버에서 만들어 놓은 상태이기 때문에 검색엔지이 페이지를 잘읽어서 SEO에 유리합니다.
페이지 변경시마다 새로 HTML을 요청 해야 하기 떄문에 UX가 좋지 않을수 있습니다.

2 TCP/UDP에 대해서 설명해주세요.

 

TCP (Transmission Control Protocol) 연결지향 입니다. 데이터 송수신 전에 연결을 먼저 진행하여
안정적인 네트워크를 마련후 데이터를 송수신합니다.전송속도가 느릴수 있으나 안정적입니다.

신뢰성이 중요한 데이터 전송에 쓰입니다.

UDP(User Datagram Protocol) 비연결성입니다. 사전준비 없이 데이터를 송수신합니다.
연결설정이 없기 때문에 전송속도가 빠릅니다. 하지만 데이터에 신뢰성이 떨어지고 오류가
발생할 확률이 높습니다. 신뢰성보다 속도가 중요한 전송에 쓰입니다.

3 http, https 차이점에 대해 설명해주세요

 

HTTP - 데이터 전송을 암호화 하지 않고 그대로 보냅니다. 데이터를 가로채어질수 있고

변조의 위험도 있습니다.

HTTPS- 데이터를 암호화하여 전송합니다. 안전하게 전송되고 데이터가 가로채지더라도
암호화되어 있기 때문에 해석하기 어렵습니다. 암호화방식에는 SSL TLS 가 있습니다
SSL- 보안소켓 레이어 TLS - 전송계층보안

4. 라이프사이클이 의미하는 바에 대해서 설명해주세요.

프로그램이나 소프트웨어의 마운트 활성상태 언마운트 파괴되는 생애주기를 일컫습니다.

프로그램이 활성화되어 시작됩니다.  >>  프로그램이 활성화되어 이용됩니다 >>
>> 종료 더이상 프로그램이 사용되지 않습니다  >> 파괴 불필요해진 프로그램이  사라집니다.

5 . 라이프사이클 메소드에 대해 설명해주세요.

 주로 프론트 엔드에서 사용되는 매소드로써 라이프사이클이 일어나는 동안 자동으로
호출되는 매서드 들입니다.

아래는 리액트 컴포넌트의 라이프 사이클동안 이용되는 메서드 들입니다.

마운트

- constructor() : 컴포넌트가 첫 랜더링시 초기 설정 수행합니다.

- static getDerivedStateFromProps(props,state) : 마운트시 받은 프롭스들과 동기화합니다.
-render() : 화면을 랜더링합니다.
-conponentDIdMount() : 컴포넌트가 DOM에 삽입되면 초기데이터 로딩작업을 합니다.

업데이트

-static getDerivedStateFromProps(nextProps ,nextState) : props의 변화나 state의 변화를
감지하고 새로운 상태를 계산합니다.
-shouldComponentUpdate(nextProps ,nextState) : 컴포넌트의 업데이트 유무를 결정합니다.
-render() : 화면을 다시 그립니다.

-getSnapshotbeforeUpdate(preProps ,prevState) : DOM변경전에 호출되어 스크롤위치를 기록합니다.
-componentDidUpdate(prevProps ,prevState , snapshot) : 업데이트 완료이후의 작업을 수행합니다.

언마운트
-componentWillUnmount() : 컴포넌트가 DOM에서 제거되기 전에 리소스를 정리합니다.

기타 메소드

-static getDerivedStateFromError(error) : 자식컴포넌트 랜더링중 에러가 발생했을때 새로운 상태를
반환하여 에러를 처리합니다.
-componentDidCatch(error , info) :자식컴포넌트에서 에러 발생시 에러로깅과 사용자에게 에러메세지를 보여줍니다.