백엔드 개발 면접 질문 주요 리스트(1)
1. HTTP METHOD에 대해 설명해 보세요.
HTTP METHOD에는 get, post, put, delete가 있습니다.
get은 클라이언트에서 서버로 어떠한 리소스로부터 정보를 요청하기 위해 사용되는 method입니다.
즉, 서버에서 어떤 데이터를 가져와서 보여줄 때, 값이나 내용, 상태 등을 바꾸지 않는 경우에 사용합니다.
post는 리소스를 생성 / 업데이트 하기 위해 서버에 데이터를 보내는 데 사용되는 method입니다. 서버상의 데이터 값이나 상태를 바꾸기 위해 사용합니다.
주요 차이점으론 get 요청은 캐시가 되나, post는 캐시가 되지 않습니다. get은 브라우저에 기록되지만 post는 기록되지 않습니다.
2. HTTP 상태 코드에 대해 아는 대로 말해보세요.
주요 상태 코드 (200, 404, 503) 정도는 알고 있어야 한다.
- 200 : OK, 요청이 성공적으로 되었다는 것을 뜻하며 정보는 요청에 따른 응답을 반환합니다.
- 404 : 서버는 요청받은 리소스를 찾을 수 없음을 뜻합니다. 브라우저에서는 알려지지 않은 URL을 의미합니다.
서버들은 인증받지 않은 클라이언트로부터 리소스를 숨기기 위하여 이 응답을 403 대신에 전송할 수도 있습니다.
- 503 : 서버가 요청을 처리할 준비가 되지 않았음을 뜻합니다. 유지 보수를 위해 작동이 중단되거나 과부하가 걸린 서버일 경우 발생합니다.
* 추가 내용
1xx (정보) : 요청받았으며, 프로세스가 계속 진행합니다.
2xx (성공) : 요청을 성공적으로 받았으며 인식했고 수용합니다.
3xx (리다이렉션) : 요청 완료를 위해 추가 작업 조치가 필요합니다.
4xx (클라이언트 오류) : 요청의 문법이 잘못되었거나 요청을 처리할 수 없습니다.
5xx (서버 오류) : 서버가 명백히 유효한 요청에 대해 충족을 실패했습니다.
3. 프로세스와 스레드의 차이에 대해 설명해 보세요.
프로세스는 자원을 할당받는 작업의 단위이며, 스레드는 프로세스가 할당받은 자원을 이용하는 실행의 단위. 스레드는 자원을 공유한다는 점에서 차이점이 있습니다.
4. RDB와 NoSQL의 차이에 대해 설명해 보세요.
RDBMS는 정해진 스키마가 존재하고, NoSQL은 정해진 스키마가 없다는 것이 가장 큰 차이입니다. NoSQL은 정해진 스키마가 없을 때 데이터 구조 변화가 자유롭고 데이터 분산이 용이하다는 장점이 있지만, 데이터 중복이 발생하거나 데이터 변경 시에 연산이 오래 걸린다는 단점이 있습니다.
5. DB에서 인덱스를 잘 사용하면 어떤 장점이 있을까요?
DB에서 인덱스를 잘 사용하는 것은 데이터를 검색하는 시점에 성능 차이에 큰 영향을 미칩니다. 대용량 데이터를 담고 있는 DB 테이블에서 필요한 데이터를 빨리 찾기 위해 인덱스가 필요합니다. 인덱스가 없거나 적절한 인덱스를 찾지 못할 경우 데이터가 담겨있는 테이블 전체를 읽어야 하기에 데이터 조회 시간이 오래 걸립니다. 인덱스는 DB 데이터의 주소를 갖고 있는 것을 의미하며, 원하는 데이터를 빠르게 찾을 수 있다는 장점을 가지고 있습니다.
'Study Cafe > 기술면접' 카테고리의 다른 글
자료구조/알고리즘, 컴파일러 (1) | 2023.04.17 |
---|---|
Spring (0) | 2023.04.09 |
데이터베이스 + JPA (0) | 2023.03.27 |
네트워크 (0) | 2023.03.16 |
기술 면접 주요 질문 답변 정리(5문항) (0) | 2022.12.25 |
댓글
이 글 공유하기
다른 글
-
Spring
Spring
2023.04.09 -
데이터베이스 + JPA
데이터베이스 + JPA
2023.03.27 -
네트워크
네트워크
2023.03.16 -
기술 면접 주요 질문 답변 정리(5문항)
기술 면접 주요 질문 답변 정리(5문항)
2022.12.25