본문으로 바로가기

20190617-TIL(면접)

category TIL 2019. 6. 17. 23:52

진행 주제를 선정하고 상세한 내용을 적기

* 사용한 기술과 어려웠던 점, 해결한 내용에 대한 기술도 같이 적을 것

 

면접보고 멍해서 두시간은 걸었다가 정신차려서 면접 때 받았던 질문에 대해서 정리를 해보자.

그리고 확실히 REST API 에 대한 깊은 이해가 우선 순위 중에 하나가 맞는 것 같다.


 

 

앞으로는 공부 방향은 1)REST API 공부 2)크롤링 프로젝트 3)카피사이트(또는 자료구조)

 

면접

  • 질문받았던 내용에 대해서 핵심 정리하기
    • TCP, UDP 에 대해서 간략하게 설명하기
      • 내 답변: TCP 는 3 way hand-shaking 방식으로 데이터가 클라이언트에게 발송이 되었는지 확인을 하고, UDP 는 상대방(클라이언트)가 데이터를 받았는지 안받았는지는 모르는 프로토콜이다.
      • 다시 답변한다면?
        • TCP 는 정확한 정보 전송을 교환하기 위해 클라이언트 <--> 서버간에 3 way-handshaking 을 통해 세션을 연결 후 데이터를 주고 받습니다. (연결형 프로토콜)
          • 3 way-handshaking:
            • (1) 클라이언트 --(SYN)--> 서버
            • (2) 클라이언트 <--(SYN+ACK)-- 서버
            • (3) 클라이언트 --(ACK)--> 서버
            • * handshaking: 말 그대로 악수를 한다는 것은 서로가 서로를 인식한다는 것
        • UDP 는 TCP 와는 다르게 연결 설정이 필요 없으며(이 말은 직접 구현해야 한다는 말이 될수도..) 순서는 빠르지만 패킷 손실이 발생할 수도 있다.
        • TCP, UDP 는 데이터 전송 계층에 해당하며, 소켓으로 통신을 주고 받는다. 그리고 TCP/IP 프로토콜에서는 상대방이 데이터를 받았는지 받지 않았는지 확인하여 받지 않았다면 다시 주게되는 프로토콜이다.
      • * 추가: Thread(쓰레드)
        • 파이썬 코드는 메인 쓰레드가 코드를 실행시키는데, 이를 병렬로 실행하여 멀티 쓰레딩 방식을 구현
        • 즉, 프로세스 안에 여러 쓰레드가 실행이 된다.
          • 가장 단순한 쓰레드 방식은 쓰레드 모듈을 상속받은 인스턴스 2개가 있다.
            • a.start(), b.start() # a(name='난 a 야'), b(name='난 b야') // 각 10개의 print()문을 생성
              • 결과값은 a 인스턴스와 b 인스턴스가 교차하여 실행이 된다.
    • REST API 인스턴스를 복사...?
      • 이 부분은 아예 답변을 못함
      • 다시 답변한다면?
        • POST 메서드를 사용해서 기존 인스턴스를 새로운 인스턴스로 복사한다.
          • 질문의 의도가 URI(자원) 에 대한 설계이지 않을까 싶은데...이건 아래에 링크를 걸어놓은 스택오버플로우를 계속해서 보면서 코드를 구현해보자.
    • REST API 에서 JSON 을 사용하는 이유
      • 내 답변: XML 도 있지만 JSON 을 사용하는 이유는 보다 간결하기 때문이다.
      • 다시 답변한다면?

 


* 참고 자료

 

TCP, UDP 의 차이

- TCP, UDP 차이1

- TCP, UDP 차이2

- 백괴사전(https://uncyclopedia.kr/wiki/TCP)

- 3way handshaking(https://www.inetdaemon.com/tutorials/internet/tcp/3-way_handshake.shtml)

 

REST API 인스턴스 복사

- 스택오버플로우(https://stackoverflow.com/questions/18755220/what-is-the-restful-way-to-represent-a-resource-clone-operation-in-the-url)

- AWS S3를 사용한 복사(https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/dev/CopyingObjectUsingREST.html)

'TIL' 카테고리의 다른 글

20190622-TIL(마케팅툴 조사)  (0) 2019.06.22
20190620-TIL(REST)  (0) 2019.06.20
20190614-TIL(크롤링 프로젝트)  (0) 2019.06.14
20190613-TIL(자료구조, 크롤링 프로젝트)  (0) 2019.06.13
20190612-TIL(자료구조, 크롤링프로젝트)  (0) 2019.06.12