System Design
Un cours de System Design accessible aux débutants : on part de zéro et on explique chaque terme avec des mots simples — comment les grands sites et applications arrivent à servir un très grand nombre d'utilisateurs sans tomber en panne. Étape par étape, on couvre les exigences, l'estimation de la taille, les bases de données, le cache, les files d'attente, la fiabilité et la sécurité, avec des analogies du quotidien et de la pratique d'entretien. Aucune expérience préalable n'est nécessaire.
- Leçon 0 : pourquoi concevoir la mise à l'échelle d'un système à l'avance ?
- Comment aborder un entretien System Design
- Fondamentaux de la mise à l'échelle : Latency, Throughput et SLO
- Réseau, DNS, Load Balancing et API Gateway
- Stockage : SQL, NoSQL, Indexes, Sharding
- Caching et CDN
- Files d'attente, Streams et traitement asynchrone
- Consistency, Replication et CAP
- Reliability : Failures, Rate Limiting, Observability
- Sécurité, confidentialité et Multi-tenancy
- Deep Dive de conception : URL Shortener + Pastebin
- Deep Dive de conception : Chat, Notifications et Feed
- Simulation d'entretien : cadre de réponse de niveau Senior