주요 콘텐츠로 건너뛰기
AI 튜토리얼

실전 AI 코딩 면접 프로젝트 튜토리얼: 요구사항 분석부터 제한 시간 내 납품까지

이 튜토리얼은 익명화된 실제 면접 프로젝트 3개를 바탕으로 범위 확정, 저장소 감사, 상태 및 런타임 설계, AI 작업 분할, 테스트·시연·문서화를 통한 안정적인 납품 방법을 설명합니다.

실전 AI 코딩 면접 프로젝트 튜토리얼: 제한 시간 내 납품

프로젝트 개요

이 저장소는 실제 채용 과정에서 출제된 AI 코딩 프로젝트 과제 3개를 정리하고, 제한 시간 내 필기 과제, Take-home Assignment, 현장 페어 프로그래밍에 적용할 수 있는 공통 방법을 도출했습니다. 과제 내용은 익명화 및 구조화하여 재작성했으며 회사, 면접관, 채용 담당자 또는 고객의 이름은 포함하지 않습니다.

저장소 자체는 주로과제 회고와 방법론을 담고 있습니다. 각각의 개인 구현은 별도 저장소에 있으며, 소스 코드, 설계 문서, 테스트 및 실제 납품 기록이 포함되어 있습니다.

이 프로젝트들이 실제로 평가하는 것은 단순한 코드의 양이 아니라 요구사항 이해, 아키텍처 경계, 진행 관리, 검수 근거와 트레이드오프 판단 능력입니다.

세 프로젝트 과제가 평가하는 역량

01: Computer Use Agent Dashboard

첫 번째 과제는 Web, Agent, 격리된 데스크톱을 결합한 시스템 구축을 요구하며, Computer Use, 도구 호출 루프, 세션 격리, 관측 가능성 및 런타임 안정성을 중점적으로 평가합니다.

이러한 프로젝트에서는 모델 API 호출과 화면 표시만 구현해서는 부족합니다. Agent가 도구를 어떻게 호출하는지, 서로 다른 세션이 어떻게 격리되는지, 실패 상태를 관찰하고 복구할 수 있는지를 함께 고려해야 합니다.

02: React Native 스크린샷 액션 Agent

두 번째 과제는 48시간 동안 진행하는 React Native/iOS 프로젝트입니다. 스크린샷을 입력으로 사용하며, 멀티모달 이해, 구조화된 Action, Human-in-the-loop, 네이티브 도구 및 Memory를 중점적으로 평가합니다.

이 유형의 핵심은 완전한 순환 구조를 만드는 것입니다. 스크린샷을 이해하고, 구조화된 행동을 생성한 뒤, 사용자의 확인을 받고 적절한 네이티브 기능으로 실행해야 합니다. 자연어 제안만 출력해서는 안 됩니다.

03: Jira 스타일 작업 관리 시스템

세 번째 과제는 하루 안에 Web MVP를 완성하는 것으로, 요구사항 우선순위 조정, CRUD, 보드 드래그 앤 드롭, 로컬 영속화, 타임라인 및 전반적인 납품 품질을 주로 평가합니다.

이 프로젝트에는 PRD부터 Repo Wiki까지 이어지는 실제 AI 코딩 대화 24개 라운드도 보존되어 있어, 요구사항·구현·문서가 어떻게 단계적으로 진행되는지 살펴볼 수 있습니다.

ForceTrack의 실제 대화 24개 라운드 보기

핵심 방법: AI 코딩 프로젝트를 완성하는 6단계

AI 코딩 프로젝트 공통 해결법은 전체 과정을 6단계로 나눕니다. 과제가 Agent, 모바일 앱 또는 CRUD 시스템인지와 관계없이 이 순서대로 진행할 수 있습니다.

1단계: 요구사항을 명확히 하고 범위 확정하기

먼저 모호한 설명을 검증 가능한 P0 범위로 바꿉니다. 반드시 완료할 내용, 나중에 처리할 내용, 명확히 구현하지 않을 내용을 구분해 제한 시간 프로젝트에서 요구사항이 계속 확대되는 것을 막습니다.

먼저 다음과 같은 간단한 요구사항 매트릭스를 만들 수 있습니다.

요구사항: 사용자가 어떤 작업을 완료할 수 있는가?
검수: 작업이 성공했음을 어떻게 증명할 것인가?
우선순위: P0에 해당하는가?
상태: 시작 전, 진행 중 또는 검증 완료인가?
위험: 의존성, 권한, 실패 경로 또는 시간 비용은 무엇인가?

매트릭스의 핵심은 형식이 아니라 모든 작업이 명확한 검수 근거와 연결되도록 하는 것입니다.

2단계: Starter 또는 기존 저장소 감사하기

면접 주최 측에서 Starter를 제공하더라도 즉시 다시 작성하지 마세요. 먼저 기존 디렉터리, 의존성, 빌드 방식, 데이터 모델 및 재사용 가능한 컴포넌트를 확인한 뒤 어떤 부분을 유지하고 확장하거나 교체할지 결정합니다.

  • 프로젝트가 정상적으로 설치되고 빌드되며 실행되는지 확인합니다.
  • 기존 상태 관리, 영속화 및 테스트 방식을 파악합니다.
  • 플랫폼, 권한 및 런타임 제약을 확인합니다.
  • 차단 항목을 기록해 AI가 잘못된 가정을 바탕으로 계속 코드를 생성하지 않도록 합니다.

3단계: 데이터, 상태, 도구 및 런타임 설계하기

과제마다 강조하는 경계가 다릅니다. Agent 프로젝트에서는 도구 루프, 세션 격리 및 실패 복구를 고려해야 하고, 모바일 프로젝트에서는 구조화된 Action, 사용자 확인 및 네이티브 도구를 고려해야 합니다. 작업 시스템에서는 CRUD, 보드 드래그 상태, 로컬 영속화 및 타임라인에 집중해야 합니다.

설계 단계에서 정상 상태, 로딩 상태, 실패 상태 및 복구 방식을 명확히 해야 합니다. 기본 경로만 있고 경계 조건이 없다면 일반적으로 납품 가능한 완결된 흐름을 만들기 어렵습니다.

4단계: 수직 슬라이스로 AI 작업 분할하기

AI에게 한 번에 전체 시스템을 생성하도록 요청하지 마세요. 더 안정적인 방식은 수직 슬라이스 단위로 진행해 각 슬라이스에 필요한 데이터, 로직, 화면 및 검증을 모두 포함하는 것입니다.

AI에 전달하는 작업 계약에는 최소한 다음 내용을 명시할 수 있습니다.

목표: 이번 라운드에서 완성할 가시적인 결과
범위: 수정 가능한 모듈
제약: 기술 스택, 시간 및 호환성 요구사항
검수: 반드시 통과해야 하는 작업 또는 확인 항목
금지 항목: 이번 라운드에서 확장하지 않을 기능

이러한 분할 방식은 컨텍스트 이탈을 줄이고 사람이 매 라운드 결과를 검토하기 쉽게 합니다.

5단계: 수동 Review와 자동화 검증

AI는 구현 속도를 높일 수 있지만 기술적 판단은 여전히 개발자의 책임입니다. 수정할 때마다 코드가 요구사항에 맞는지, 기존 동작을 깨뜨리지 않는지, 실패 경로가 처리되는지를 확인해야 합니다.

  • 기존 테스트와 빌드 프로세스를 실행합니다.
  • 핵심 사용자 경로를 수동으로 검증합니다.
  • 상태, 권한, 영속화 및 경계 조건을 확인합니다.
  • 화면 표시가 실제 실행 결과와 일치하는지 확인합니다.
  • “코드가 생성됨”이 아니라 검수 결과를 기록합니다.

6단계: 제한 시간 내 우선순위 조정, 시연 및 최종 납품

시간이 부족하면 가치가 낮은 범위를 적극적으로 줄이고 P0의 완결된 흐름을 우선 보장해야 합니다. 최종 납품에는 소스 코드뿐 아니라 빌드 결과, 테스트, 시연 및 문서를 통해 프로젝트가 실제로 실행 가능하다는 증거도 포함되어야 합니다.

간단한 납품 체크리스트는 다음과 같이 작성할 수 있습니다.

핵심 흐름이 완성되었는가?
프로젝트를 빌드하고 시작할 수 있는가?
주요 실패 경로가 처리되었는가?
데이터 또는 상태가 요구사항에 따라 저장되는가?
시연 단계가 안정적으로 재현되는가?
문서에 범위, 트레이드오프 및 알려진 제한사항이 설명되어 있는가?

이 저장소를 활용하는 방법

이 저장소는 과제 회고와 방법론을 위한 저장소이며, 의존성을 통합 설치하고 실행해야 하는 애플리케이션이 아닙니다. 따라서 준비 작업은 주로 자료를 읽고, 템플릿을 복사하며, 구체적인 과제에 맞춰 실행 계획을 세우는 것입니다.

  1. GitHub 페이지에서 현재 저장소를 클론하거나 다운로드합니다.
  2. 세 프로젝트 과제를 차례로 읽고, 각 유형의 엔지니어링 목표와 검수 중점을 이해합니다.
  3. 공통 해결법을 읽고 요구사항 매트릭스, 작업 계약 및 납품 체크리스트를 복사합니다.
  4. 과제 하나를 선택해 요구사항을 제한 시간 내 완료 가능한 P0 범위로 압축합니다.
  5. 구현 세부사항을 확인하려면 해당 개인 구현 저장소에서 소스 코드, 설계 문서 및 테스트를 살펴봅니다.

README에서 권장하는 순서는먼저 세 과제를 읽고, 다음에 공통 해결법을 읽는 것입니다. 실제 과제를 수행할 때는 모든 템플릿을 그대로 사용할 필요 없이 프로젝트 규모와 제한 시간에 맞춰 줄여서 사용하세요.

기본 실습 예시

Jira 스타일 작업 관리 시스템을 연습한다고 가정해 보겠습니다. 하루 동안의 목표를 검증 가능한 핵심 흐름으로 제한하고 CRUD, 보드 드래그 앤 드롭, 로컬 영속화 및 타임라인을 중심으로 구현과 검수를 진행할 수 있습니다. 각 부분을 완성할 때마다 상태 업데이트와 영속화 결과를 함께 확인하고, 모든 화면이 완성된 뒤 한꺼번에 테스트하지 않도록 합니다.

스크린샷 액션 Agent를 연습한다면 “스크린샷 입력, 멀티모달 이해, 구조화된 Action, 사용자 확인, 네이티브 도구”를 중심으로 수직 슬라이스를 구성할 수 있습니다. 각 단계에 수동 확인과 검증 절차를 유지해 모델 출력을 곧바로 신뢰할 수 있는 실행 결과로 간주하지 않도록 해야 합니다.

Computer Use Agent Dashboard에서는 도구 루프, 세션 격리, 관측 가능성 및 런타임 안정성을 먼저 검증해야 합니다. 화면은 시스템의 일부일 뿐이며, 실행 과정을 추적할 수 있는지와 실패 후 어떻게 처리하는지도 검수 범위에 포함됩니다.

고급 팁

기능 수보다 검수 근거를 우선하기

제한 시간 프로젝트에서는 테스트와 시연이 완료된 3개의 완전한 기능이 안정적으로 실행되지 않는 10개의 화면보다 일반적으로 설득력이 높습니다. 모든 P0 기능은 작업, 테스트, 빌드 결과 또는 문서를 통해 증명할 수 있어야 합니다.

AI가 결정을 대신하지 않고 구현을 가속하도록 하기

AI는 경계가 명확한 작업에 적합하지만 범위 분할, 아키텍처 트레이드오프, 위험 판단 및 최종 Review는 여전히 개발자가 통제해야 합니다. 작업이 모호할수록 한 번에 많은 코드를 생성했을 때 재작업 위험이 커집니다.

상태와 복구 경로를 우선 점검하기

세 과제는 형태가 서로 다르지만 모두 상태, 실패, 복구, 권한, 영속화 또는 경계 조건을 포함합니다. 시연 전에 잘못된 입력, 도구 실패, 상태 전환 및 애플리케이션 재진입 후의 동작을 적극적으로 테스트해야 합니다.

실제 대화 기록으로 협업 방식 회고하기

ForceTrack의 실제 대화 24개 라운드는 AI 코딩의 진행 관리를 분석하는 데 적합합니다. 읽을 때는 각 라운드의 목표가 어떻게 구체화되는지, 작업이 어떻게 분할되는지, 결과가 PRD에서 저장소 Wiki로 어떻게 단계적으로 정리되는지 살펴볼 수 있습니다.

맺음말

이 자료의 가치는 3개의 연습 과제를 제공하는 데만 있지 않습니다. 요구사항을 이해하고 범위를 확정한 뒤 환경을 감사하고, 경계를 설계하며, 작업을 분할하고, 사람이 검토한 다음 테스트·빌드·시연·문서로 검수하는 재사용 가능한 AI 코딩 납품 방식을 보여줍니다.

실제 채용 과정의 과제 내용, 제한 시간 및 보안 요구사항은 서로 다를 수 있습니다. 이 방법을 사용할 때는 항상 전달받은 공식 자료를 기준으로 삼고, 시간에 맞춰 가치가 낮은 범위를 적극적으로 줄여야 합니다.