1. 프로젝트 개요
- 목표: 신입 및 취업 준비 개발자들이 기술 면접을 체계적으로 연습할 수 있도록, 실제 면접에서 자주 출제되는 문제들을 문제은행 방식으로 제공하고, 자동 채점 및 해설 기능을 통해 실전 감각을 기를 수 있는 플랫폼을 구축한다.
- 참고 모델: 전자문제집 CBT (https://www.comcbt.com/)
2. 주요 기능 (MVP 기준)
✅ A. 맞춤형 문제 추천 기능 (이력서 기반)
- 사용자가 자신의 이력서 혹은 포트폴리오를 PDF 형태로 업로드하면, 해당 기술스택/경험에 기반하여 관련된 기술면접 예상 질문을 추천
- 두가지 케이스의 문제 제공
- FAISS + RAG 기반으로 문제 은행에서 유사한 문제 가져오기
- 프롬프트를 먹인 ChatGPT API를 기반으로 기술면접 문제 생성
- ex) "Spring 기반 백엔드 프로젝트 경험 있음" → JPA, 트랜잭션, MVC 등 핵심 질문 추천
- ex) “Redis 경험 있음” → Redis vs Memcached, Lettuce vs Redission Redis 클라이언트의 차이, Redis Cluster 구성 경험
- 사용 목적: 실무와 관련된 맞춤형 질문으로 면접 대비
개발 포인트
- PDF는 Presigned Url로 업로드, 수명주기를 설정하여 자동 삭제 처리
- PDF 글씨 인식은 별도의 서버로 리소스를 분리하여 수행
- FAISS + RAG는 AWS Lambda를 이용하여 리소스 분리 및 코스트 감소 + 비동기 처리
- 로그인한 사용자만 사용할 수 있으며, 사용자당 하루 5회까지만 이용 가능
- 사용 횟수는 Redis나 DB로 관리하며, 매일 00시에 충전되도록 설계
✅ B. 문제은행 기반 CBT 문제 풀이 기능
- 분야별/기술별로 정리된 기술면접 문제은행 제공
- DB, 네트워크, 자료구조/알고리즘 등 (기본 CS)
- Java, Spring, Infra, CI/CD, MSA 등 (백엔드)
- React, Javascript (프론트엔드) → 추후 계획
- RAG, 임베딩, 손실함수 (AI) → 추후 계획
- 난이도별(기본/중급/심화) 필터링
- 시험처럼 시간 제한 및 OMR 스타일 CBT 모드 제공 (분야는 선택해서 랜덤 가능)
- 자동 채점 및 정답 해설, 오답 노트 저장 기능 포함
- 기본적으로 AI 해설 제공 (미리 돌려서 DB에 저장)
- 사용자가 풀이에 오류신고 및 추가 해설 달 수 있음 (CBT처럼)
- 추후 AI에게 해당 문제에 관하여 추가 질문할 수 있는 도우미 개발 예정
- 사용자의 풀이 이력을 기반으로 취약 영역 분석 기능 개발 예정
개발 포인트