시스템 디자인 면접 준비를 위한 28개 챕터 요약 노트
면접에서 요구하는 시스템 설계 문제를 빠르게 복습하고 싶은 사람에게 필요한 자료입니다. 알렉스 쉬의 『System Design Interview』 1, 2권 내용을 바탕으로 한 학습 노트로, 각 장의 핵심 개념과 설계 사례를 정리해 두었습니다. 아직 완성되지 않은 상태이지만, 주제별 추가 참고 자료와 함께 제공되어 특정 영역을 깊이 있게 파고들 때 유용합니다.
기본 인프라부터 대규모 서비스까지
이 노트는 0에서 수백만 사용자로 확장하는 방법부터 시작해 28개 챕터로 구성됩니다. 레이트 리미터, 일관성 해싱, 키-밸류 스토어 같은 기본 인프라 구성 요소부터 URL 단축기, 웹 크롤러, 뉴스 피드 같은 애플리케이션 레벨 설계까지 다룹니다. 유튜브, 구글 드라이브, 주식 거래소, 디지털 지갑 등 대규모 분산 시스템의 구체적인 설계 사례도 포함됩니다. 각 챕터는 면접에서 자주 등장하는 시나리오를 중심으로 구성되어 있어, 문제 해결의 흐름을 자연스럽게 익힐 수 있습니다.
주제별 심화 자료 모음
각 주제와 관련된 심화 자료를 함께 제공합니다.
- 레이트 리밍 서킷 브레이커 알고리즘과 우버의 레이트 리미터 사례를 다룹니다.
- 일관성 해싱 카산드라, 디스코드, 구글 Maglev 등 실제 시스템의 확장 사례를 참고할 수 있습니다.
- 키-밸류 스토어 아마존 다이나모, 카산드라, 구글 BigTable의 내부 구조와 설계 패턴을 다룹니다.
- 유니크 ID 생성기 티켓 서버와 스노플레이크 같은 분산 시스템의 고유 ID 생성 방식을 설명합니다.
진행 중인 작업과 활용 팁
이 노트는 현재 진행 중인 작업(work in progress)으로, 내용이 계속 업데이트될 수 있습니다. 따라서 최신 정보를 확인하기 위해 주기적으로 변경 사항을 살펴보는 것이 좋습니다. 각 장의 내용은 면접 준비를 위한 핵심 포인트를 짚어주므로, 전체를 통독하기보다는 특정 주제에 집중하여 반복 학습하는 방식이 효과적입니다. 특히 'Back-of-the-envelope Estimation' 같은 계산 능력이나 'A Framework For System Design Interviews' 같은 접근법 챕터는 다른 설계 문제들을 풀 때 기초가 되므로 우선적으로 익히는 것을 권장합니다.