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