# System Design — Resources

## Videos

- [System Design Interview — Gaurav Sen](https://www.youtube.com/playlist?list=PLMCXHnjXnTnvo6alSjVkgxV-VH6EPyvoX) — Structured approach and common problems.
- [ByteByteGo — System Design](https://www.youtube.com/@ByteByteGo) — Visual explanations of distributed systems.
- [Gaurav Sen — CAP Theorem](https://www.youtube.com/watch?v=k-Yaq8AHlFA) — CAP explained clearly.
- [Tech Dummies — System Design](https://www.youtube.com/playlist?list=PLkQkbY7JN6BpnK7Xn-HVXy4cR-LxxHrBQ) — Interview-style walkthroughs.

## Articles and Guides

- [System Design Primer](https://github.com/donnemartin/system-design-primer) — Comprehensive GitHub repo with topics, patterns, and exercises.
- [High Scalability](http://highscalability.com/) — Case studies and patterns from real systems.
- [Martin Fowler — CQRS](https://martinfowler.com/bliki/CQRS.html) — Command Query Responsibility Segregation.
- [Martin Fowler — Event Sourcing](https://martinfowler.com/eaaDev/EventSourcing.html) — Event sourcing pattern.
- [InfoQ — Distributed Systems](https://www.infoq.com/distributed-systems/) — Articles on distributed systems.

## Books

- **Designing Data-Intensive Applications** by Martin Kleppmann — The definitive guide (DDIA).
- **System Design Interview** by Alex Xu — Two-volume interview preparation.
- **Building Microservices** by Sam Newman — Microservices architecture.

## Tools and References

- [Consistent Hashing — Original Paper](https://www.akamai.com/blog/performance/what-is-consistent-hashing) — Akamai's explanation.
- [Redis Documentation — Caching Strategies](https://redis.io/docs/manual/patterns/) — Cache patterns with Redis.
- [AWS Well-Architected Framework](https://aws.amazon.com/architecture/well-architected/) — Scalability and reliability best practices.

## Podcasts

- [Software Engineering Daily — Distributed Systems](https://softwareengineeringdaily.com/category/all-episodes/exclusive-content/distributed-systems/) — Technical deep dives on databases, caching, messaging.
- [The Pragmatic Engineer Podcast](https://newsletter.pragmaticengineer.com/) — Gergely Orosz on large-scale system decisions.
- [InfoQ Podcast](https://www.infoq.com/podcasts/) — Architecture and scalability interviews with industry leaders.

## Interactive and Visual

- [ByteByteGo — System Design Visuals](https://bytebytego.com/) — Alex Xu's animated system design diagrams and newsletters.
- [Excalidraw](https://excalidraw.com/) — Collaborative whiteboard for sketching architecture diagrams.
- [System Design Primer — Anki Flashcards](https://github.com/donnemartin/system-design-primer#anki-flashcards) — Spaced-repetition cards for system design concepts.

## Courses

- [MIT 6.824 — Distributed Systems (free)](https://pdos.csail.mit.edu/6.824/) — Lecture videos, labs on Raft, MapReduce, and more.
- [Grokking the System Design Interview](https://www.designgurus.io/course/grokking-the-system-design-interview) — Structured walkthrough of common design problems.
- [Educative — System Design for Developers](https://www.educative.io/courses/grokking-modern-system-design-interview-for-engineers-managers) — Interactive text-based course with diagrams.
