|1. System Design म्हणजे काय?
Chapter 1System Design~1 min read

System Design म्हणजे काय?

ओळख आणि Interview Strategy

System Design म्हणजे large-scale software systems कसे design करायचे — कोट्यवधी users handle करणारे, highly available, scalable आणि reliable systems. Amazon, Google, Netflix यांनी त्यांचे systems कसे बनवले — हे समजणे म्हणजे System Design.

Marathi Analogy

एका झोपडीसाठी आणि एका 50-मजली building साठी architecture वेगळं असतं. दोन्ही "घर" आहेत, पण planning, materials, structure — सगळं वेगळं. तसंच 100 users साठी आणि 100 million users साठी software design वेगळं असतं!

System Design Interview काय असतो?

  • Senior Software Engineer (3+ years) interviews मध्ये येतो
  • FAANG, startups — सगळे विचारतात
  • Open-ended: "Design Twitter" / "Design YouTube" / "Design WhatsApp"
  • 45-60 minutes, whiteboard/diagram सोबत discuss करायचं
  • एकच correct answer नाही — trade-offs explain करणे महत्त्वाचं

Interview मध्ये कसे approach करायचे?

  • 1. Requirements Clarify करा — DAU किती? Read-heavy की write-heavy?
  • 2. High-level design describe करा — components कोणते?
  • 3. Deep dive — bottlenecks कुठे? कसे solve करणार?
  • 4. Trade-offs discuss करा — SQL vs NoSQL, consistency vs availability
  • 5. Scale करायचे कसे? Load spikes कसे handle करणार?

Key Topics — या tutorial मध्ये काय शिकणार?

  • Scalability — Vertical vs Horizontal scaling
  • Load Balancing — traffic distribute करणे
  • Caching — Redis, CDN, cache strategies
  • Databases — SQL vs NoSQL, sharding, replication
  • Message Queues — async communication
  • Microservices — large systems organize करणे
  • CAP Theorem — consistency vs availability trade-off
  • Case Studies — Twitter, YouTube design करणे

Key Points — लक्षात ठेवा

  • System Design = large-scale systems architect करणे
  • No single correct answer — trade-offs matter
  • Senior engineer interviews मध्ये येतो
  • Functional + Non-functional requirements दोन्ही consider करा
  • Scalability, Reliability, Availability — key goals
0/11 chapters पूर्ण