'donnemartin/system-design-primer' 깃허브 트렌딩… 대규모 시스템 설계 학습 가이드 34만 스타, 20개+ 다국어·Anki 덱·인터뷰 문제집 제공
<p>깃허브 'donnemartin/system-design-primer' 레포지토리가 누적 스타 344,820개(당일 +366)를 기록하며 트렌딩 상단에 올랐다. 대규모 시스템 설계 학습 자료를 한 곳에 정리한 오픈소스 가이드로, 시스템 디자인 인터뷰 대비와 확장 가능한 시스템 구축 역량 강화를 목표로 한다.</p>
<p>레포는 시스템 설계 주제를 광범위하게 다룬다. 성능 vs 확장성, 레이턴시 vs 처리량, 가용성 vs 일관성, 일관성 패턴, 가용성 패턴, 도메인 네임 시스템(DNS), 콘텐츠 전송 네트워크(CDN), 로드 밸런서, 리버스 프록시(웹 서버), 애플리케이션 계층, 데이터베이스, 캐시, 비동기 처리, 통신, 보안 등 핵심 주제별로 장단점과 트레이드오프를 정리해 둔 것이 특징이다.</p>
<p>시스템 디자인 인터뷰 문제집은 토론, 코드, 다이어그램이 포함된 샘플 풀이와 함께 제공된다. 'Pastebin.com(또는 Bit.ly) 설계', '트위터 타임라인 및 검색(또는 페이스북 피드)', '웹 크롤러 설계', 'Mint.com 설계', '소셜 네트워크 데이터 구조 설계', '검색 엔진용 키-밸류 스토어 설계', '아마존 카테고리별 판매 랭킹 기능 설계', 'AWS에서 수백만 사용자로 확장되는 시스템 설계' 등이 대표 문제로 제시된다.</p>
<p>객체지향 설계 인터뷰 문제 섹션은 개발 중(under development) 단계지만, 해시맵·LRU 캐시·콜센터·카드 덱·주차장·채팅 서버 설계 등 자주 출제되는 OO 디자인 문제를 풀이와 함께 다룬다. 인터뷰에 등장하는 추가 시스템 디자인 문제집도 별도로 제공된다.</p>
<p>학습 가이드는 인터뷰 일정에 따라 단기·중기·장기 로드맵을 제시한다. 단기는 시스템 디자인 토픽을 폭넓게 훑고 일부 문제를 풀이하는 방식, 장기는 폭과 깊이를 모두 갖추고 대부분의 문제를 풀어보는 방식이다. 모든 일정에서 회사 엔지니어링 블로그 글, 실세계 아키텍처 자료, '시스템 디자인 인터뷰 질문 접근법' 리뷰가 공통으로 권장된다.</p>
<p>Anki 플래시카드 덱은 간격 반복(spaced repetition)을 활용해 핵심 시스템 디자인 개념을 장기 기억으로 옮기도록 돕는다. 이동 중 학습에도 적합하다는 점이 강점으로 강조된다. 자매 레포 'Interactive Coding Challenges'에는 코딩 인터뷰 대비용 추가 Anki 덱이 포함된다.</p>
<p>인터뷰 단계별 접근법도 안내한다. 요구사항 수집과 문제 범위 설정 단계에서는 사용자, 사용 방식, 사용자 수, 시스템의 입출력, 데이터 양, 초당 요청 수, 읽기/쓰기 비율 등을 묻도록 권한다. 이후 고수준 설계로 주요 컴포넌트와 연결을 스케치하고, 핵심 컴포넌트의 상세 설계로 들어간 뒤, 병목을 식별하고 로드 밸런서·수평 확장·캐싱·데이터베이스 샤딩 등으로 확장성을 개선하는 흐름이다.</p>
<p>부록(Appendix)에는 'Back of the envelope' 계산법, 2의 거듭제곱 표, '모든 프로그래머가 알아야 할 레이턴시 수치' 등 실전에서 자주 쓰이는 추정 자료가 정리돼 있다. 면접에서 손으로 추정 계산을 요구받을 때 활용할 수 있다.</p>
<p>다국어 번역도 활발하다. 영어, 일본어, 간체·번체 중국어, 아랍어, 벵골어, 브라질 포르투갈어, 독일어, 그리스어, 히브리어, 이탈리아어, 한국어, 페르시아어, 폴란드어, 러시아어, 스페인어, 태국어, 터키어, 베트남어, 프랑스어로 자료가 제공되며, 신규 번역 기여도 받고 있다. 레포는 지속적으로 업데이트되는 오픈소스 프로젝트로 PR 기여를 환영한다는 점을 명시했다.</p>