LabHub
배우기 러닝패스 코스

로그가 미래에서 왔다 — 시계가 만든 다섯 사건 · 경과 시간이 음수로 찍혔다 · 퀴즈

퀴즈: 경과 시간이 음수로 찍혔다

LabHub 에서 이어서 보기

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

  1. CLOCK_MONOTONIC 에 대해 맞는 설명은?

    1. 관리자가 시각을 바꾸면 그만큼 함께 점프해 벽시계와 보조를 맞춘다
    2. 설정할 수 없고 시각 변경에 점프하지 않지만 주파수 조정에는 영향을 받는다
    3. 설정할 수 없고 어떤 조정에도 영향을 받지 않는 완전한 하드웨어 시계다
    4. 시스템이 잠들어 있던 시간까지 포함해 실제 경과를 그대로 센다
  2. 잠금 기한을 「지금 + 30초」 라는 벽시계 절대 시각으로 잡아 둔 코드에서, 시계가 5분 뒤로 점프하면 무슨 일이 생기나?

    1. 기한이 이미 지난 것으로 보여 잠금이 즉시 풀린다
    2. 30초짜리 잠금이 5분 30초 동안 풀리지 않는다
    3. 잠금이 그대로 30초 뒤에 풀린다 — 점프는 기한 계산에 영향을 주지 않는다
    4. 기한 비교가 예외를 일으켜 잠금 획득 자체가 실패한다
  3. 응답 시간을 벽시계 뺄셈으로 재는 서비스에서 시계를 맞추는 날 지표에 벌어지는 일은?

    1. 그 순간의 표본만 빠지고 나머지 지표는 평소와 같다
    2. 지표 라이브러리가 시계 변경을 감지해 해당 구간을 자동으로 표시해 준다
    3. 음수나 터무니없이 큰 값이 섞여 그날의 분위수를 믿을 수 없게 된다
    4. 평균은 흔들리지만 분위수는 순위 기반이라 영향을 받지 않는다
  4. 기록을 남길 때 벽시계와 단조 시계를 함께 적어 두는 것이 좋은 이유는?

    1. 둘의 차이를 계속 지켜보면 시계 오차를 별도 측정 없이 알 수 있기 때문이다
    2. 단조 시계 값이 없으면 로그를 시간순으로 정렬할 수 없기 때문이다
    3. 두 값이 어긋나면 로그가 위조됐다는 것을 증명할 수 있기 때문이다
    4. 벽시계는 사람이 읽고 단조 시계는 경과 계산이 읽는 서로 다른 용도이기 때문이다
  5. 다음 중 단조 시계 위에서 계산해야 하는 것은?

    1. 재시도 사이의 대기 시간과 요청 시간 제한
    2. 인증서의 유효 구간 판정
    3. 감사 로그에 남길 사건 발생 시각
    4. 토큰의 만료 시각 비교
  6. 코드 검토에서 경과 시간 계산의 위험을 알아보는 신호는?

    1. 경과 시간을 부동소수점으로 담아 반올림 오차가 쌓일 수 있게 둔 코드
    2. 경과 시간을 밀리초 단위 정수로 담아 큰 값에서 넘칠 수 있는 코드
    3. 경과 시간이 음수일 수 있다는 것을 전혀 고려하지 않은 비교
    4. 경과 시간을 구조체에 담지 않고 지역 변수로만 쓰는 코드