티스토리 뷰

코드스테이츠

기술면접 준비 -

_Yunhwan 2023. 3. 13. 10:17

 

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

재귀를 요약하자면 자기 자신을 호출하는 것을 의미합니다.

 

재귀를 활용하기 좋은 상황으로 

첫번째로는 구조가 비슷한 주어진 문제가 더 작은 문제로 나뉘어 질 수 있는 경우,

두번째로는 중첩된 루프가 많거나 중첩의 정도를 미리 알 수 없는 경우가 있습니다.

 

추가적으로 재귀를 활용하면, 가독성이 좋아지고 변수 사용을 줄일 수 있다는 장점이 있지만

함수의 호출이 스택에 쌓이고 값을 반환 하기 전까지 메모리 공간을 많이 차지한다는 단점이 있습니다.

 

 

Redux

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

리액트에서는 컴포넌트에서 사용되는 state가 변경 시, 컴포넌트가 리렌더링이 됩니다.

이 state의 조작이 필요한 하위 컴포넌트가 있을 경우, state 변경 함수를 porps로 전달해야 합니다.

 

만약, 이러한 하위 컴포넌트의 개수와 state가 증가한다면,

값을 내려줄 때 전달 과정을 매번 작성해주어야하고, props를 내려주는 깊이가 깊어지는 props drilling이 발생합니다.

또한  state가 어디서, 어떤 컴포넌트의 작업으로 변경되는지 파악이 어려워지게 됩니다.

 

이러한 이유 때문에, 전역적으로 상태를 관리를 해주는 상태관리 라이브러리의 필요성이 생겨났습니다.

 

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

Redux 는 상태관리 로직을 컴포넌트 밖에서 처리하는 역할을 합니다.

 

먼저, store는 상태가 관리되는 오직 하나의 공간입니다.
둘째, dispatch는 reducer를 호출합니다.
셋째, action은 자바스크립트 객체 타입이며 store에 전달할 payload(데이터)를  리듀서에 전달합니다
마지막으로. reducer는 현재 state와 action을 이용하여 다음 state를 만듭니다.

 

다시 말하자면

action 객체는 dispatch에 전달되고, dispatch는 reducer를 호출하고, reducer는 새로운 state를 생성합니다.

 

 

 

네트워크 심화

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

IP 프로토콜의 한계로는 대표적으로 비연결성, 비신뢰성을 꼽을 수 있습니다.

 

비연결성을 나타내는 예로는,

패킷을 받을 대상이 없거나 서비스가 불능인 상태여도 패킷을 전송한다는 점이 있습니다.

 

비신뢰성을 나타나는 예로는

중간 서버가 데이터 패킷을 소실하여도 클라이언트가 파악이 불가능하다는 점,

패킷들이 서로 다른 노드로 전달될 수 있어 순서대로 패킷이 도착하지 않을 수 있다는 점이 있습니다.

 

 

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

 

클라이언트 서버 구조

클라이언트가 서버 요청 시, 서버가 응답을 보내는 구조롤 이루어져 있습니다.

 

무상태 프로토콜

서버가 클라이언트의 상태를 보존하지 않고 클라이언트가 추가적인 데이터를 전송하는 형태를 가지고 있습니다.

 

비연결성

실제로 요청을 주고 받을 때만 연결을 유지하는 모델이며,

TCP/IP 연결을 새로 맺어야 한다는 한계를 연결이 이루어지고 난 뒤 각각의 자원들을 요청하고

모든 자원에 대한 응답이 돌아온 후에 연결을 종료하는 HTTP 지속 연결로 극복하였습니다.

'코드스테이츠' 카테고리의 다른 글

TIL 23.03.14  (0) 2023.03.14
TIL 23.03.13 & Section3 회고  (0) 2023.03.13
TIL 23.03.09  (0) 2023.03.09
TIL 23.03.08  (0) 2023.03.08
TIL 23.03.07  (0) 2023.03.08
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함