기술면접준비

기술면접준비(1)

김검정 2023. 12. 19. 09:47

1. HTTP METHOD에 대해 설명해 보세요.

 

HTTP METHOD에는 get, post, put, delete가 있다. 여기서 get 과 post 간의 차이점에 대해서 말할 수 있어야 한다.

get은 클라이언트에서 서버로 어떠한 리소스로부터 정보를 요청하기 위해 사용되는 method이다. 즉, 서버에서 어떤 데이터를 

가져와서 보여줄 때, 값이나 내용, 상태 등을 바꾸지 않는 경우에 사용한다.

post는 리소스를 생성/업데이트 하기 위해 서버에 데이터를 보내는 데 사용되는 method이다. 서버상의 데이터 값이나 상태를 

바꾸기 위해서 사용한다.

주요 차이점중에 하나는 get 요청은 캐시가 되나, post 요청은 캐시가 되지 않는다. get은 브라우저에 기록되지만 Post는 기록되지

않는다.

 

 

2. HTTP 상태 코드에 대해 설명해 보세요.

 

- 200 : OK, 요청이 성공적으로 되었습니다. 정보는 요청에 따른 응답을 반환합니다.

- 404 : 서버는 요청받은 리소스를 찾을 수 없습니다. 브라우저에서는 알려지지 않은 URL을 의미한다. 서버들은 인증받지 않은 

클라이언트로부터 리소스를 숨기기 위해 이 응답을 403 대신에 전송할 수도 있다.

- 503 : 서버가 요청을 처리할 준비가 되지 않았습니다. 유지 보수를 위해 작동이 중단되거나 과부하가 걸린 서버의 경우 발생한다.

 

1xx (정보) :요청받았으며, 프로세스가 계속 진행한다.

2xx (성공) : 요청을 성공적으로 받았으며 인식했고 수용한다.

3xx (리다이렉션) : 요청 완료를 위해 추가 작접 조치가 필요하다.

4xx (클라이언트 오류) : 요청의 문법이 잘못되었거나 요청을 처리할 수 있다.

5xx (서버 오류) : 서버가 명백히 유요한 요청에 대해 충족을 실패했다. 

 

 

3. 프로세스와 스레드의 차이에 대해 설명해 보세요.

 

프로세스는 자원을 할당받는 작업의 단위이며, 스레드는 프로세스가 할당받은 자원을 이용하는 실행의 단위, 스레드는 자원을

공유한다는 점이 차이점이 있다.

 

 

4. D에서 인덱스를 잘 사용하면 어떤 장점이 있을까요?

 

DB의 인덱스를 잘 사용하는 것은 데이터를 검색하는 시점에 성능 차이에 큰 영향을 미친다. 대용량 데이터를 담고 있는 DB테이블에서 

필요한 데이터를 빨리 찾기 위해 인덱스가 필요하다. 인덱스가 없거나 적절한 인덱스를 찾지 못할 경우 데이터가 담겨있는 테이블을 

모두 읽어야 하기 때문에 데이터 조회 시간이 오래 걸릴 수 있다. 인덱스는 DB 데이터의 주소 값을 갖고 있는 것을 의미한다.

 

 

5. GC 가비지 컬렉션에 대해 아는 대로 설명하시오

 

GC 가비지 컬렉션은 프로그래머가 동적으로 할당한 메모리 영역 중 더 이상 쓰이지 않는 가비지 영역을 찾아 메모리 할당을 해제하는

기능을 의미한다. 

** Full GC 추가

 

 

6. RESTful 이란 무엇인가?

 

HTTP URI를 통해 자원을 표시하고 HTTP Method를 통해 자원에 대한 처리를 표현한다. 사람이 읽을 수 있는 API라는 것이 특징이다.

HTTP를 사용하기 때문에 HTTP의 특성을 그대로 반영한다. 또한 별도의 인프라 구축이 필요없다.

단점으로는 명확한 표준이 존재하지 않는다는 것, RESTful을 완전히 만족하는 API를 만들기 매우 까다롭다는 점이 있다.