FDE 캡스톤: 창고가 같은 주문을 세 번 받았다 · 고객의 말을 계약으로 · 퀴즈
확인: 고객의 말에서 전송 계약으로
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
같은 order_id·SKU·수량이 다른 event_id로 두 번 도착했다. 이번 계약의 처리는?
- 첫 행만 후보로 두고 나머지는 재전달로 남긴다
- 이벤트가 다르므로 각각 새 예약 후보로 남긴다
- 두 행 모두 충돌로 분류하고 주문 전체를 보류한다
- 두 행의 수량을 더한 뒤 하나의 후보로 만든다
파일 후반에서 앞서 본 주문과 다른 수량을 발견했다. 전송 전에 필요한 설계는?
- 앞 행을 먼저 보내고 충돌을 발견하면 보고서에서 지운다
- 전체 파일을 검사하고 해당 주문의 모든 행을 보류한다
- 파일의 마지막 값이 수정이라고 보고 마지막 행만 보낸다
- 먼저 온 값이 원본이라고 보고 나중 행만 보류한다
예약 API가 주문·SKU·수량만 요구한다. 원본에 들어 있는 메일 주소는 어떻게 하는가?
- 예약 본문에는 빼고 오류 로그에는 원본 행과 함께 남긴다
- 장애 조사에 대비해 모든 예약 헤더에 메일 주소를 넣는다
- 전송·보고서·로그에서 빼고 검증된 주문 ID와 행을 남긴다
- 성공한 주문은 지우고 실패한 주문의 메일만 보고서에 쓴다
같은 유효한 주문 ID의 두 행 중 하나는 정상이고 다른 하나는 수량이 two다. 분류는?
- 정상 행은 전송하고 불량 행만 invalid로 보류한다
- 불량 행을 재전달로 보고 정상 행만 후보로 둔다
- two를 숫자 2로 바꾼 뒤 두 행의 내용만 비교한다
- 두 행 모두 invalid로 보류하고 후보에서 제외한다
수량 문자열 02를 받았다. 허용 범위가 문자 1~5인 이번 계약에서는?
- 정수로 자동 보정하지 않고 불량 입력으로 보류한다
- 숫자 의미가 2이므로 정상 입력과 똑같이 전송한다
- 원문 02를 JSON 문자열로 유지해서 창고에 보낸다
- 소수 2.0으로 바꿔 정수 입력과 구분해서 전송한다
고객이 충돌 주문의 정확한 수량을 아직 정하지 못했다. FDE가 지금 납품할 수 있는 것은?
- 큰 수량을 골라 예약하고 나중에 고객에게 정정을 요청한다
- 보류 정책을 구현하고 미결정 항목을 인계 근거에 남긴다
- 작은 수량을 골라 예약하고 부족분을 다음 파일에서 받는다
- 중복 검사를 해제해 모든 행을 창고가 직접 판단하게 한다