43장. 독자 최종 실기 시험
시험 시작 시 완성 저장소를 보지 않고 빈 branch와 요구사항만 받는다. host는 클래스 하나를 만들고 두 회원은 마지막 좌석을 경쟁한다. 한 회원 요청은 commit 직후 연결이 끊긴다. 이어 host가 클래스를 취소하고 일부 cache 무효화가 실패하며, 배포 도중 pod 하나가 종료된다. 독자는 90분 안에 중복·유실 없이 상태를 복구하고 사용자 안내를 제시한다.
채점은 기능 30점, 데이터 무결성 25점, 보안·권한 15점, 관측·근거 15점, 접근성 5점, 배포·rollback 10점이다. 화면이 예뻐도 다른 host의 자원을 수정하거나 마지막 좌석이 두 번 팔리면 불합격이다. 반대로 모든 장애를 막지 못했더라도 탐지 신호, 영향 query, 안전한 복구와 후속 설계를 증명하면 부분 점수를 준다.
제출물은 commit과 README, test report, 두 장의 직접 캡처, architecture decision record, incident timeline, 개인정보가 제거된 log, release checklist다. 동료 한 명이 제출물만으로 새 환경에서 재현한다. 이 단계까지 마쳐야 독자는 Next.js 문법을 안다는 수준을 넘어 작은 웹 서비스를 출시하고 운영할 수 있다.