LeetCode 대신 패턴 학습 도구를 직접 만들었습니다
LeetCode 무작위 문제 풀이(LeetCode Grinding) 대신 DS&A 패턴 이해(Pattern-Based Learning) 중심의 면접 준비 전략으로 전환함
패턴 인식 도구(Pattern Recognition Tool)를 직접 구축하여 DS&A 플래시카드, 문제→패턴 퀴즈, 시스템 디자인 치트시트 등을 제공함
Next.js, TypeScript, React, Tailwind CSS 스택으로 개발했으며 LocalStorage 기반의 데이터 미저장 정책(Zero-Retention Policy)을 채택하여 별도 로그인 없이 즉시 사용 가능함
20개 패턴을 깊이 이해하는 것이 200개 문제를 겉으로 푸는 것보다 효과적이라는 철학을 실천하며, 패턴 인식 후 구현이 훨씬 수월해진 경험을 공유함
패턴 기반 학습이 LeetCode 방식보다 효과적인 이유
면접 준비의 핵심은 개별 문제 암기가 아닌 패턴 인식 능력(Pattern Recognition Ability)을 기르는 것이라는 저자의 주장은 교육학적으로 타당하다.
스키마 이론(Schema Theory): 유사한 문제 구조를 하나의 추상적 패턴으로 조직하면, 새로운 변형 문제를 만났을 때 인지적 부하(Cognitive Load)가 현저히 감소한다.
전이 학습(Transfer Learning): "Two Pointers", "Sliding Window", "DFS/BFS" 같은 핵심 패턴을 이해하면, 실제 면접에서 출제자의 의도(Interviewer's Intent)를 빠르게 파악할 수 있다.
실제 효과: 저자에 따르면 20개 패턴을 깊이 이해한 후에는 구현이 자연스럽게 따라오는 경험을 했다고 한다.
그러나 이 접근법의 한계도 존재한다. 면접관이 Highly Original Problem을 출제할 경우, 패턴 저장소에 없는 구조에서는 오히려 더 어려움을 겪을 수 있으므로 기본기 연습과 병행하는 것이 권장된다.
LocalStorage 기반의 프론트엔드 아키텍처 선택
이 도구가 별도 백엔드 없이 LocalStorage만으로 동작하도록 설계된 것은 매우 흥미로운 기술적 선택이다.
데이터 격리 아키텍처(Data Isolation Architecture): 사용자 데이터가 서버에 저장되지 않으며, 브라우저 내에서만 상태가 유지된다.
데이터 미저장 정책(Zero-Retention Policy): 개발자가 사용자 학습 데이터를 수집하지 않겠다는 명확한 의사로, GDPR 규제 준수(Compliance) 측면에서도 안전하다.
성능적 이점: 네트워크 지연이 없으므로 플래시카드 전환이나 퀴즈 응답이 즉각적인 피드백(Instant Feedback)을 제공한다.
제약 사항: 사용자가 브라우저 데이터를 삭제하면 학습 진행 상황이 소실되므로, 데이터 백업 메커니즘이 부재한 단점이 있다.
AI 활용 개발과 내부 도구로서의 AI 활용 사례
저자는 이 프로젝트를 AI 보조 개발(AI-Assisted Development)의 실험으로 언급하며, 일상 업무에 도움이 되는 내부 도구 구축이 AI의 적합한 활용 사례라고 평가한다.
반복적 코드 생성(Boilerplate Generation): Tailwind CSS 클래스 조합이나 React 컴포넌트 구조 생성에 AI를 활용하면 개발 속도(Development Velocity)가 향상된다.
도메인 특화 활용: Interview Prep처럼 개인의 특수한 니즈가 있는 영역에서는 범용 SaaS보다 맞춤형 내부 도구(Custom Internal Tool)가 더 높은 효용을 제공한다.
한계점: AI가 생성한 코드에 대한 검증 부담(Validation Burden)은 여전히 개발자에게 있으며, 특히 알고리즘 로직의 정확성은 직접 테스트해야 한다.