ACC 1기 DevOps 역량 강화를 위한 실전 시스템 설계 스터디
Ref. https://github.com/Meet-Coder-Study/book-system-design-interview
- 제한된 CPU, 메모리, 비용 등 자원 제약 속에서 최적의 설계 고민
- 병목 분석, 캐시 설계 등 성능 최적화 기법 학습
- 2배 비용 투자 시 2배 성능을 낼 수 있는 확장 아키텍처 설계
- 성능/비용의 균형점 학습 및 디자인 선택 근거 마련
《가상 면접 사례로 배우는 대규모 시스템 설계 기초》
| 챕터 | 주제 | 발표자 | 질문자 |
|---|---|---|---|
| 1 | 사용자 수에 따른 규모 확장성 | ||
| 2 | 개략적인 규모 추정 | ||
| 3 | 시스템 설계 면접 공략법 | ||
| 4 | 처리율 제한 장치의 설계 | ||
| 5 | 안정 해시 설계 | ||
| 6 | 키-값 저장소 설계 | ||
| 7 | 분산 시스템을 위한 유일 ID 생성기 설계 | ||
| 8 | URL 단축기 설계 | ||
| 9 | 웹 크롤러 설계 | ||
| 10 | 알림 시스템 설계 | ||
| 11 | 뉴스 피드 시스템 설계 | ||
| 12 | 채팅 시스템 설계 | ||
| 13 | 검색어 자동완성 시스템 | ||
| 14 | 유튜브 설계 | ||
| 15 | 구글 드라이브 설계 |
발표자: 각 장의 개념/기법 설명 및 실제 사례 분석
질문자: 발표 내용을 보완할 질문 또는 논의거리 준비
- 장소: 동국대학교 (대면)
- 시간: 평일 저녁
- 방식: 매주 1명이 1장 발표
- 사전 준비
- 발표자 외 전원은 해당 장에 대한 질문, 논의거리, 중요 개념을 Issue로 등록
- Issue 제목 형식:
[N주차] N장_주제_이름 - Issue 내용 예시:
## 질문 캐시 무효화 정책으로 LRU 외에 어떤 방식이 있고, 실제 시스템에서는 어떤 기준으로 선택하나요?
- 발표
- 발표자는 발표 자료를
N/경로에 업로드한 뒤, PR 생성 - 브랜치명 형식:
{nickname}/chapter{number}
예:eunji/chapter03 - PR 제목 예시:
[N주차] N장_주제_이름 - 파일명 형식:
{nickname}/*
- 발표자는 발표 자료를
- 토론
- 질문 Issue 중심으로 토론 진행
- 모든 참여자는 하나 이상의 질문을 등록해야 참여 인정
- 회고
- 간단한 회고를 GitHub PR Comment에 남기거나, 구두 회고 진행
- 방식: AWS 기반 실제 아키텍처 설계
- 준비: 각자 효율적인 아키텍처를 설계하여 발표
- 토론: 지표와 근거를 바탕으로 아키텍처 효율성 논의