LabHub
배우기 러닝패스 코스

실패했는데 종료 코드는 0 이었다 · 로그 5천 줄을 엑셀 없이 읽는다 · 퀴즈

퀴즈: 표준 라이브러리로 지표 내기

LabHub 에서 이어서 보기

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

  1. statistics.quantiles(times, n=100) 이 돌려주는 목록에서 p95 는 어디에 있는가?

    1. 인덱스 95 — 목록이 100개이기 때문이다
    2. 인덱스 94 — 절단점이 99개라 0번이 p1 이기 때문이다
    3. 인덱스 5 — 목록이 큰 값부터 정렬되기 때문이다
    4. 인덱스 50 — n=100 은 절반을 뜻하기 때문이다
  2. 응답 시간 평균은 0.08초인데 사용자는 느리다고 한다. 어떤 지표를 먼저 봐야 하는가?

    1. 표준편차 — 평균이 맞는지 검증한다
    2. 최솟값 — 가장 빠른 요청을 기준으로 삼는다
    3. 합계 — 전체 처리 시간을 구한다
    4. p99 같은 높은 분위수 — 느린 소수가 평균에 묻히기 때문이다
  3. nginx 시각 `[10/Sep/2026:03:14:07 +0900]` 을 strptime 으로 읽을 때 %z 의 역할은?

    1. +0900 을 읽어 시간대가 붙은(aware) 객체를 만든다
    2. 초 단위를 버리고 분 단위로 자른다
    3. 시각을 UTC 로 자동 변환한다
    4. 요일 이름을 검증한다
  4. CSV 를 `line.split(",")` 으로 읽지 말고 csv.DictReader 를 쓰는 이유는?

    1. split 은 숫자 열을 자동으로 int 로 바꾸지 못하기 때문이다
    2. DictReader 는 파일을 한 번에 메모리에 올려 더 빠르기 때문이다
    3. 따옴표 안의 쉼표와 인용 규칙을 모듈이 처리하고 열 이름으로 접근하기 때문이다
    4. DictReader 만 UTF-8 파일을 읽을 수 있기 때문이다
  5. 도구가 `parsed=0` 을 보고했는데 로그는 5만 줄이다. 가장 먼저 의심할 것은?

    1. 로그에 요청이 정말 없었다
    2. 로그 형식이 바뀌어 정규식이 한 줄도 못 맞춘다
    3. Counter 가 0 으로 초기화되지 않았다
    4. statistics 가 빈 목록에서 예외를 삼켰다
  6. 5xx 가 가장 많았던 1분을 찾는 가장 단순한 방법은?

    1. 시각을 초 단위로 정렬한 뒤 60개씩 잘라 센다
    2. 5xx 줄의 시각을 문자열로 앞 16글자만 잘라 비교한다
    3. 1분마다 도구를 다시 돌려 5xx 를 센다
    4. 5xx 줄의 시각에서 초를 0 으로 맞춘 값을 Counter 키로 세고 most_common(1) 을 본다