LabHub
배우기 러닝패스 코스

ACK 전에 꺼진 간식 자판기 · 새 학기 재고를 어제 번호로 읽지 않는다 · 퀴즈

퀴즈: 새 학기 재고를 어제 번호로 읽지 않는다

LabHub 에서 이어서 보기

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

  1. day-A의 last=800을 저장한 복제본에 허용된 day-B의 last=0 스냅샷이 왔다. 판단은?

    1. 0은 800보다 작으므로 언제나 오래된 스냅샷이다
    2. day-A의 801번으로 바꾸어 새 재고에 이어 붙인다
    3. 다른 허용 세대이므로 새 상태로 원자적으로 교체한다
    4. 두 세대의 재고를 더하고 더 큰 커서를 유지한다
  2. expected_epoch를 검증 대상 snapshot['epoch']에서 그대로 꺼내 전달했다. 부족한 것은?

    1. 어느 원본 세대를 허용했는지 독립적으로 대조할 기준
    2. 숫자 last를 문자열로 바꾸어 정렬하는 처리
    3. epoch 문자열을 더 긴 문자열로 확장하는 처리
    4. 스냅샷에 동일한 epoch 키를 두 번 적는 처리
  3. 스냅샷으로 last=5까지 설치했지만 4번 개별 delta는 없다. (4,2)가 들어오면?

    1. 작은 번호라서 같은 내용의 중복으로 확정한다
    2. delta를 더하고 last는 5로 유지해 기록을 맞춘다
    3. 원본의 현재 재고에서 2를 빼어 과거를 추정한다
    4. 개별 효과를 대조할 수 없는 과거로 명시적으로 분류한다
  4. sync_once가 last=20 스냅샷을 설치한 뒤 원본이 21까지 쓰고 삭제했다. 이번 호출은?

    1. last를 21로 올린 뒤 정상 완료를 반환한다
    2. 재복구 필요 오류를 전달하고 설치한 유효 상태는 유지한다
    3. 호출 내부에서 성공할 때까지 무제한 반복한다
    4. 설치한 재고를 지우고 21번의 효과를 0으로 가정한다
  5. 같은 세대·last·total의 스냅샷을 다시 설치할 때 남은 개별 events는?

    1. 확정 중복이므로 재고를 한 번 더 더하고 유지한다
    2. 복구를 반복한 횟수만큼 seq를 뒤로 이동한다
    3. 상태를 바꾸지 않고 그대로 유지하며 False를 반환한다
    4. 개별 효과가 필요 없으므로 매번 전부 삭제한다
  6. source.db와 mirror.db라는 경로 두 개를 쓰면 별개 저장소가 보장되는가?

    1. 아니다. 링크로 같은 파일일 수 있어 실제 정체성도 확인한다
    2. 그렇다. SQLite는 파일 이름마다 다른 데이터베이스를 만든다
    3. 그렇다. 연결을 두 번 열면 디스크 내용도 두 벌로 나뉜다
    4. 아니다. 같은 폴더의 모든 DB는 항상 하나로 합쳐진다