System Design Interview 한인 가이드 — L5/L6 시니어 · Scalability · 실전 6단계 (2026)
조회수 1추천수 0댓글 0
https://gousa.kr/board/jobs/1625
L5+ 부터는 System Design 이 합격을 결정한다
주니어 (L3-L4, IC4 이하) 까지는 LeetCode 가 압도적이지만, 시니어 (L5-L6, IC5-IC6) 부터는 system design 인터뷰가 합격 / 불합격을 결정한다. Google L5 / Meta E5 / Amazon SDE3 / Microsoft 64-65 / Apple ICT4 — 모두 system design 1-2 라운드 통과 필수. 한국인이 가장 약한 영역이기도 하다 (영어 communication + 실제 large-scale 시스템 운영 경험 둘 다 필요).
System Design 인터뷰 평가 5축 (FACT)
- Requirement Gathering — 모호한 문제를 명확히 (functional + non-functional)
- Scalability — 1000 vs 1M vs 1B users 차이 이해
- Trade-offs — CAP, consistency 모델, sync vs async, SQL vs NoSQL
- Deep Dive — 한 component 에 대해 30분 깊이 파고들기
- Communication — top-down, 적절한 추상화, interviewer 와 대화
실전 6단계 framework (45-60분)
- 1단계 (5분) - Requirements: functional (필수 기능 3-5개) + non-functional (DAU, QPS, latency, availability)
- 2단계 (5분) - Capacity Estimation: storage, bandwidth, QPS 계산. 예: 100M DAU * 평균 10 actions = 1B daily, 12K QPS
- 3단계 (5분) - High-level Design: 큰 박스 다이어그램. client -> LB -> service -> DB -> cache
- 4단계 (10분) - API Design: REST / gRPC endpoint 정의. request / response schema
- 5단계 (15분) - Data Model: table 또는 document schema. PK / index / sharding key
- 6단계 (15분) - Deep Dive: interviewer 가 지목한 영역 (caching, consistency, search, ranking 등) 심화
L5/L6 자주 나오는 문제 (FACT)
- Design Twitter / Instagram feed — fanout, timeline cache
- Design URL shortener — base62 encoding, distributed unique ID
- Design Chat (WhatsApp / Slack) — websocket, message queue, fan-out
- Design Uber / Lyft — geo-sharding, ETA, surge pricing
- Design Netflix / YouTube — CDN, encoding, recommendation
- Design Distributed Cache (Memcached / Redis cluster) — consistent hashing
- Design Rate Limiter — token bucket, leaky bucket, distributed
- Design Notification System — push (APNs, FCM), email, retry
- Design Ad Click Aggregator — stream processing, exactly-once
- Design Distributed File Storage (S3-like) — chunking, replication, erasure coding
핵심 개념 체크리스트 (FACT)
- Load Balancing: L4 (TCP) vs L7 (HTTP), Round Robin / Least Connection / IP Hash
- Caching: Cache-aside, write-through, write-back, TTL, eviction (LRU, LFU)
- Database: SQL (Postgres, MySQL) vs NoSQL (DynamoDB, Cassandra, MongoDB). ACID vs BASE
- Sharding: range, hash, geo. resharding 비용
- Replication: master-slave, master-master, leader election, Raft / Paxos
- Consistency: strong, eventual, read-your-write, monotonic read. CAP theorem
- Message Queue: Kafka, RabbitMQ, SQS. partition, consumer group, dead letter
- Search: Elasticsearch / OpenSearch, inverted index, relevance scoring
- CDN: edge caching, geo-routing, cache invalidation
- Monitoring: metrics (Prometheus), logs (ELK), tracing (Jaeger, OpenTelemetry)
한국인 흔한 실수
- 코딩 디테일 너무 집착 — system design 은 추상화 레벨. SQL query 한 줄 디테일 X
- Requirements 건너뛰기 — 바로 box 그리기 X. 5분 requirement gathering 필수
- Capacity estimation 누락 — 시니어 평가 결정적. 100M DAU 가정 -> QPS 계산 명시
- 한 개 솔루션만 제시 — trade-off 분석 필수. "옵션 A: X, 옵션 B: Y, 나는 X 선택. 이유는..."
- Buzzword 나열 — "Kafka, Redis, K8s" 만 말하고 왜인지 설명 X
- 침묵 — 30초 이상 침묵 X. "Let me think out loud..." 로 사고 과정 공유
- 그림 안 그리기 — whiteboard / virtual board 활용. interviewer 가 시각화 못 따라가면 평가 낮음
준비 자료 (FACT)
- "System Design Interview" Vol 1, 2 by Alex Xu — 가장 인기. 한국어 번역도 있음
- "Designing Data-Intensive Applications" by Martin Kleppmann — bible. 6개월 이상 읽기
- System Design Primer (GitHub) — 무료 오픈소스 정리
- ByteByteGo (Alex Xu newsletter) — 주간 다이어그램 예시
- HelloInterview.com — system design mock + 솔루션
- HighScalability.com — 실제 회사 아키텍처 사례
- 유튜브: Gaurav Sen, ByteByteGo, Tech Dummies
실전 mock interview 가치
- peer mock (무료) — Pramp, Interviewing.io. 같은 레벨 후보와 mock
- paid mock — exponent.com ($150-250/회), interviewing.io paid track. 전 Google/Meta 시니어와 mock
- 한국인 mock 그룹 — Blind / 카카오톡 SWE 그룹에서 organize
- 최소 10-20회 mock 권장. 첫 3-5회는 망함이 정상
L5 vs L6 차이 (FACT + INFERENCE)
- L5 (Senior): 한 시스템 설계, scalability 고려, 표준 component 사용
- L6 (Staff): 다중 시스템 통합, organizational impact, trade-off 의 trade-off 까지 의식
- L6 인터뷰 추가 요소: cost optimization, multi-region failover, migration strategy, technical leadership
한국인 영어 communication 팁
- Top-down 시작: "Let me start with high-level, then go deeper" 같은 framing
- Signposting: "There are two options. Option A is..., Option B is..., I prefer A because..."
- 확인 질문: "Does this align with what you're looking for?" — interviewer 와 호흡 맞추기
- 침묵 대신 thinking out loud: "Hmm, I'm thinking about how to handle the hot partition..."
출처
System Design Primer, ByteByteGo, HelloInterview, "System Design Interview" by Alex Xu, "Designing Data-Intensive Applications" by Martin Kleppmann.
※ 회사·레벨·인터뷰어에 따라 평가 기준이 다릅니다. 본 글은 일반 가이드. 실전 mock 15-20회 권장.