2024.10.21 모의면접 질문

장재영·2024년 10월 21일
0

1. 전송 계층 프로토콜에 대해 설명해주세요.

  • 대표적으로 TCP와 UDP가 있다.

  • TCP는 안정성(데이터 손실 등 오류 제어)

  • UDP는 속도(오류 검출은 가능하나 해결은 안함)

    1-꼬리질문. IP의 한계

    • 신뢰성이 없는 비연결형 통신
    • 상태를 저장하지않음
    • 실시간이 아님

    1-꼬리질문. 오류 제어, 흐름 제어

    • 오류제어: 데이터손실이나 비트오류 등 오류가 감지되면 재전송 요청 등 신뢰성을 확보
    • 흐름제어: 송신측과 수신측의 데이터 전송 속도를 조절해 데이터의 과부하로 인한 데이터 손실을 방지

    1-다른질문 핸드쉐이크

    • 3핸드 : 1. 데이터줘 => 2. ok 연결한다? => 3. ok
    • 4핸드 : 1. 나 끝 => 2. ok 3. 데이터 다 보냈는데 종료할래? => 4. ok

2. 대칭키, 비대칭키 암호화에 대해 설명해주세요.

  • 대칭키는 송신자 수신자가 같은 비밀키를 이용해 암호화 복호화를 함

  • 비대칭키는 송신자 수신자가 다른 비밀키를 이용해 암호화 복호화를 함(공개키, 개인키)
    2-꼬리질문. 대칭키/비대칭키 혼합 사용

    • 비대칭키로 대칭키를 전달해 안전한 키 교환
    • 이후 데이터 전송에는 속도가 빠른 대칭키 암호화를 사용

    2-꼬리질문. HTTPS

    • 클라이언트와 서버는 TLS 핸드셰이크를 통해 대칭키를 교환
    • 교환된 대칭키로 이후 모든 데이터를 암호화
      • TLS?
        1.클라: 연결요청(안녕) 2.서버: (안녕) 3.서버: (인증서, 공개키 전달) 4.클라: (인증서 확인 후 서버 요청에 따라 인증서 + 대칭키를 암호화하여 전송) 5.대칭키 복호화 후 통신 6.연결 완료 메시지 전달 핸드쉐이크종료

3. 로드밸런싱에 대해 설명해주세요.

  • 여러 서버에 요청을 분산해 시스템의 부하를 조절하는 기술

  • 클라이언트의 요청을 여러 서버에 배분

    3-꼬리질문. 로드밸런싱 알고리즘

    • 라운드로빈: 서버에 순서대로 요청을 배분
    • 가중치 라운드 로빈: 서버의 처리 능력에 따라 가중치를 부여하고 배분
    • 최소 연결: 가장 적은 연결을 가진 서버에 요청을 할당
    • IP해시: 클라이언트의 IP주소를 해시에 특정 서버에 요청을 할당
    • 최소 응답 시간: 가장 빠른 응답 시간을 보이는 서버에 요청을 분배
    • 동적 로드밸런싱: 서버의 cpu, 메모리, 트래픽등 여러 지표를 모니터링해 분배

    3-꼬리질문. 헬스체크

    • 로드밸런서가 서버의 상태를 주기적으로 확인하는 과정
    • 서버가 정상인지 비정상인지 판단하고 비정상 서버는 요청대상에서 제외
    • HTTP상태코드나 TCP연결여부를 통해 서버의 가용성을 검사
profile
개발 하고 싶은 비버

0개의 댓글