LabHub
배우기 러닝패스 코스

느린 구독자가 생중계를 멈췄다 · 확인·기한·회수의 주인을 정한다 · 퀴즈

퀴즈: 확인·기한·회수의 주인을 정한다

LabHub 에서 이어서 보기

문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. 전체 1초 중 drain에 0.8초를 썼다면 ACK 예산은?

    1. 다시 1초를 부여한다
    2. 대략 0.2초가 남는다
    3. 이미 0.8초라 즉시 성공한다
    4. ACK에는 시간 상한을 두지 않는다
  2. Cursor(last=7)에 9가 먼저 들어오면?

    1. last를 9로 바꾸고 중복으로 본다
    2. 7과 9의 평균을 체크포인트로 쓴다
    3. Gap을 내고 last는 7로 유지한다
    4. 8이 처리됐다고 가정하고 승인한다
  3. Cursor.accept가 True인 직후 실제 업무가 실패하면?

    1. 메모리 커서가 자동으로 이전 값으로 돌아간다
    2. TCP가 실패한 업무만 다시 실행한다
    3. 영속 저장이 없어도 정확히 한 번이 성립한다
    4. 커서만 전진해 재시도가 중복으로 보일 수 있다
  4. serve_queue가 빈 큐에서 취소될 때 필요한 것은?

    1. 소유 연결을 닫고 취소를 호출자에게 전달한다
    2. 항목이 올 때까지 취소를 무시하며 기다린다
    3. 항목을 받지 않았어도 task_done을 호출한다
    4. writer는 남기고 정상 종료로만 보고한다
  5. write와 drain이 끝났지만 ACK가 오지 않으면?

    1. 업무가 성공했으므로 즉시 완료로 반환한다
    2. 전체 기한 안에서 업무 확인을 계속 기다린다
    3. 다른 순번의 ACK를 받으면 동일 성공으로 본다
    4. 기한을 매번 새로 늘려 연결을 계속 유지한다
  6. 활성 연결이 있는 Python 3.12 서버의 종료 순서는?

    1. wait_closed 뒤에 모든 클라이언트를 닫는다
    2. 리스너를 남겨 두고 작업자만 재생성한다
    3. 새 연결을 막고 기존 연결을 닫은 뒤 기다린다
    4. 가비지 컬렉션이 끝날 때까지 새 요청을 받는다