Kurs

System Design

Kattalashganda buzilmaydigan tizimlarni qanday loyihalash — asoslardan amaliyotgacha.

Tizimlar negizi

  1. 01 System Design nima? System Design nima, nega kerak va qanday yondashish kerakligi haqida.
  2. 02 Scalability asoslari Vertical va horizontal scaling, qachon qaysi biri kerak va qanday qo'llash kerak.
  3. 03 Kompyuter va tarmoq asoslari Kompyuter arxitekturasi, tarmoq qatlamlari va client-server modeli.
  4. 04 Internet protokollari (HTTP, DNS) HTTP, HTTPS, DNS va internet qanday ishlashi haqida.

Kengayish usullari

  1. 05 Load Balancing Trafikni serverlar orasida taqsimlash, algoritmlar va strategiyalar.
  2. 06 Vertical vs Horizontal Scaling Vertical va horizontal scaling strategiyalari va qachon qaysi birini tanlash.
  3. 07 Stateful vs Stateless arxitektura Stateful va stateless tizimlar farqi, horizontal scaling uchun stateless qilish.
  4. 08 CDN (Content Delivery Network) CDN nima, qanday ishlaydi va static contentni global tezlikda yetkazish.
  5. 09 Reverse Proxy va API Gateway Reverse proxy va API Gateway farqi, qanday ishlaydi va nima uchun kerak.

Ma'lumotlar ombori

  1. 10 ACID xususiyatlari ACID (Atomicity, Consistency, Isolation, Durability) - database transaction'larning asosiy xususiyatlari.
  2. 11 SQL vs NoSQL SQL va NoSQL database'larning farqi, qachon qaysi birini tanlash kerak.
  3. 12 Database Indexes Index nima, qanday ishlaydi va querylarni qanday tezlashtiradi.
  4. 13 Database Replication Master-slave va master-master replication, high availability va read scaling.
  5. 14 Database Sharding Horizontal partitioning, sharding strategiyalari va cross-shard challenges.
  6. 15 CAP teoremasi Consistency, Availability, Partition Tolerance - distributed systemlarda tanlov qilish.

Keshlash

  1. 16 Caching asoslari Cache nima, qanday ishlaydi, cache hit/miss va asosiy strategiyalar.
  2. 17 Cache invalidation strategiyalari E-tag, TTL, Jitter va cache consistency ta'minlash usullari.
  3. 18 Distributed Cache (Redis, Memcached) Redis va Memcached - distributed cache, clustering va high availability.
  4. 19 Eventual Consistency Eventual consistency, conflict resolution va distributed systems'da ma'lumot uyg'unligi.

Asinxron jarayonlar

  1. 20 Message Queues asoslari Message queue nima, producer-consumer pattern va asynchronous processing.
  2. 21 Publish-Subscribe pattern Pub/Sub pattern, event broadcasting va real-time notifications.
  3. 22 Event-Driven Architecture Event-driven tizimlar, loose coupling va reactive systems.
  4. 23 Microservices vs Monolith Monolith va microservices arxitekturalari, qachon qaysi birini tanlash.

Qo'shimcha mavzular

  1. 24 Rate Limiting va Throttling Rate limiting algoritmlari, DDoS protection va API quota management.
  2. 25 Monitoring va Observability Metrics, logs, tracing va system health monitoring.
  3. 26 Security asoslari Authentication, authorization, encryption va common vulnerabilities.
  4. 27 Disaster Recovery va High Availability Backup strategies, failover, RTO/RPO va business continuity.

Real-world Case Studies

  1. 28 System Design Interview'ga tayyorgarlik Interview qanday o'tadi, qanday yondashish kerak va maslahatlar.
  2. 29 Case Study: URL Shortener Bit.ly kabi URL shortener tizimini loyihalash - to'liq case study.
  3. 30 Case Study: Twitter Twitter kabi social network tizimini loyihalash.
  4. 31 Case Study: WhatsApp WhatsApp kabi real-time messaging tizimini loyihalash.
  5. 32 Case Study: Uber Uber kabi location-based ride-hailing tizimini loyihalash.