<오늘 공부 한 것들>
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(서버 에러)