본문 바로가기
카테고리 없음

TIL 85일차 (2023-10-23) 코딩 테스트 공부 && React 복습

by seungbeom35 2023. 10. 23.

<오늘 공부 한 것들>

1. 코딩 테스트 Lv.1 [10문제 풀기]

2. React 면접 질문 답변

3. CS 관련 면접 질문 답변


[코딩 테스트 헷갈린 메소드 및 용어]

split
➛ 문자열 객체에서 지정한 문자에 따라 여러 개의 문자열로 나눔

한 글자씩 나누고 싶으면 value.split("")

splice

➛ 배열의 기존 요소를 삭제 또는 교체 혹은 새 요소를 추가하여 배열의 내용 변경 

sort

➛ 배열의 요소를 적절한 위치로 반환 

문자의 경우 정렬 잘 됨 

숫자의 경우 오름차순 ➛ sort((a,b) => a - b)  내차순 ➛ sort((a,b) => b - a) 

join

➛ 배열의 모든 요소를 연결해 하나의 문자열로 만든다.

Math.min

가장 작은 숫자를 반환

배열에서 가장 작은 수를 꺼낼 때는 스프레드를 사용 Math.min(...value)

Math.sqrt

➛ 제곱근을 반환하는 메소드 Math.sqrt(144)가 있을 경우 12를 반환 

음수의 경우 Math.sqrt(-1) ➛NaN 

[React 면접 질문]

1) 상태관리를 왜 할까요? 그리고 평소 state 관리는 어떻게 하시나요?

상태 관리를 하는 이유

➛ 상태(state)와 props에 따라 리렌더링이 발생하는데 이를 가상돔에서 변경된 부분을 캐치 후 실제 돔에 반영시켜주어서

state 관리

➛ React Hook의 useState를 사용하거나 프로젝트에 최적인 전역 상태 관리 라이브러리를 활용하여 관리

 

2) Redux는 무엇이며, 왜 Redux를 사용하시나요?

Redux는 JavaScript의 전역 상태 관리 라이브러리로, 전역 상태 관리를 위해 사용된다.

Redux를 사용하는 이유

➛ 복잡한 웹 애플리케이션에서 상태 관리를 단순화하고 데이터의 불변성을 유지하여 예측 가능한 동작을 사용하기 위해

Redux를 사용하지 않으면

➛ 실제 DOM의 작업인 1~6까지의 작업이 있으면 1~6까지의 작업을 Props를 내려줘야 해서 Props 드릴링이 발생하여

데이터의 유지보수와 작업 마다 오류가 발생할 수 있다.  

[CS -> Computer science]

1) 프로세스와 스레드의 차이는 무엇인가요?

프로세스는 운영체제로부터 리소스를 할당 받은 것이고 

스레드는 프로세스가 할당받은 리소스를 이용하는 실행 흐름

 

프로세스가 작동할때 걸리는 한계를 줄이기 위해 스레드가 나타난 것

하나의 프로세스 안에 스레드가 많을 수록 프로그램의 속도가 올라갑니다.

 

2) REST API란 무엇인지 설명 해 주세요.

REST API는 REST를 기반으로 서비스 API를 구현한 것

REST API를 통해 알수 있는 서버의 상태 코드 중 대표 적인 것은 404

상태 코드에 따라 에러가 발생했을때 어떻게 대처 방식을 알 수 있습니다.

 

[참고 자료들]

  DOM은 웹 페이지를 이루는 태그들을 자바스크립트가 이용할 수 있게끔 브라우저가 트리구조로 만든 문서 객체 모델

  문서 객체란 html, head, body와 같은 태그들을 javascript가 이용할 수 있는 객체

  REST는 HTTP를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍처     404는 요청받은 리소스를 찾지 못했음을 의미

 응답 메시지의 상태 라인에 있는 상태 코드

       1XX: Informational(정보 제공)

       2XX: Success(성공)

       3XX: Redirection(리다이렉션)

       4XX: Client Error(클라이언트 에러)

       5XX: Server Error(서버 에러)