LabHub

프로덕션 백엔드 API 캡스톤 · 데이터 무결성과 재시도 · 퀴즈

퀴즈: PostgreSQL 데이터 경계

LabHub 에서 이어서 보기

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

  1. 여러 조직이 같은 멱등 키를 독립적으로 쓸 수 있게 하는 가장 정확한 제약은?

    1. idempotency_key 열 하나의 전역 UNIQUE 제약
    2. 애플리케이션 메모리 집합에 키를 보관
    3. UNIQUE (org_id, idempotency_key) 복합 제약
    4. 요청마다 임의 키를 서버가 새로 생성
  2. 동시에 도착한 두 생성 요청의 중복 경쟁을 막는 가장 강한 위치는?

    1. 클라이언트 버튼을 잠시 비활성화하는 화면
    2. 응답을 보낸 뒤 실행하는 비동기 중복 검사
    3. 로그 수집기가 같은 키를 나중에 탐지하는 단계
    4. PostgreSQL 트랜잭션 안의 UNIQUE와 ON CONFLICT
  3. 마이그레이션 검증 증거로 가장 신뢰할 수 있는 것은?

    1. SQL 파일 이름이 001로 시작하는지 확인
    2. CREATE TABLE 문자열이 포함됐는지 검색
    3. 코드 리뷰어가 문법을 눈으로 한 번 확인
    4. PostgreSQL 16 격리 스키마에 적용하고 제약 위반을 실행
  4. 같은 멱등 키로 온 재시도가 다른 금액을 담고 있을 때 충돌 경로가 해야 할 일은?

    1. 처음 만들어진 주문을 그대로 돌려준다
    2. 새 금액으로 기존 주문을 갱신하고 200을 준다
    3. 충돌이므로 409를 주고 아무것도 돌려주지 않는다
    4. 두 금액의 평균으로 주문 금액을 다시 계산한다
  5. 마이그레이션을 BEGIN 과 COMMIT 사이에서 실행하는 이유는?

    1. 실행 시간이 짧아져 잠금 대기가 사라진다
    2. 실패하면 중간 상태가 남지 않고 통째로 되돌아간다
    3. 인덱스가 자동으로 병렬 생성된다
    4. 다른 세션이 같은 이름의 테이블을 못 만들게 막는다
  6. 데이터베이스 제약 위반을 API 가 다루는 올바른 방식은?

    1. 제약을 없애고 애플리케이션 조건문으로 옮긴다
    2. 예외를 그대로 500 으로 흘려보낸다
    3. 409나 400 같은 의미 있는 상태로 번역하되 제약은 그대로 둔다
    4. 예외 메시지에 실행한 SQL 과 인자를 담아 돌려준다