Materi 29 - Programming dan Data Science

System Design Interview Prep

Skill yang ditest di interview senior dan staff engineer. Scaling, trade-off, architecture.

Durasi 32 Menit Level advanced Kurikulum 30 Materi

1. Apa Itu System Design

Design arsitektur sistem yang bisa handle scale, fault tolerance, dan business requirement. Test critical thinking dan engineering trade-off di interview level senior.

2. Scalability Patterns

Vertical scaling (machine lebih besar). Horizontal scaling (banyak machine). Load balancer untuk distribute. Database sharding untuk split data. CDN untuk content geografis.

3. Caching

Reduce load ke database. Tipe: client-side, CDN, application, database query. Pattern: read-through, write-through, write-back. Invalidation adalah problem sulit.

4. Database Choice

Relational untuk transaksional konsisten. NoSQL untuk scale dan flexibility. Trade-off CAP theorem: Consistency, Availability, Partition tolerance, pilih 2.

5. Common Interview Questions

Design URL shortener, design Twitter, design YouTube, design WhatsApp, design rate limiter. Setiap question test berbeda aspek. Latihan minimal 10 untuk siap interview.

Tugas Praktik

  1. Pelajari System Design Primer di GitHub
  2. Latihan 5 system design question klasik
  3. Design URL shortener step-by-step
  4. Pelajari arsitektur Netflix atau Uber
  5. Mock interview dengan teman atau platform

Rangkuman