system-design-primer — open-source руководство по проектированию масштабируемых систем для подготовки к собеседованиям

TL;DR: Заменяет разрозненные онлайн-ресурсы структурированной программой (350K звёзд) — 100+ тем, карточки для запоминания и вопросы с собеседований с решениями
Автор: donnemartin⭐ 354,000

Ключевые возможности

Быстрый старт

1. `git clone https://github.com/donnemartin/system-design-primer.git`
2. `cd system-design-primer`
3. `open README.md`
4. `Download Anki flashcards from resources/flash_cards/`
5. `Open solutions/system_design/pastebin/README.md`

Альтернативы

Grokking the System Design Interview (Educative): Paid interactive course with quizzes and coding playgrounds (vs. free open-source text)
Designing Data-Intensive Applications (Book): Deep dive into distributed systems theory (vs. interview-focused guide)
High Scalability Blog: Case studies of real-world architectures (vs. structured curriculum)
LeetCode System Design Tag: Collection of interview questions without solutions or study guide (vs. step-by-step answers)

Кому подходит

FAQ

Do I need to know all 100+ topics to pass an interview?

No. The study guide provides timelines (short/medium/long) to focus on relevant topics based on your experience and interview timeline.

Are the Anki flashcards compatible with all devices?

Yes. The decks use standard Anki format (.apkg) and work on AnkiWeb, desktop, and mobile apps.

How often is the content updated?

The repository is community-driven, with updates typically every 1-2 months. Check the 'Under development' section for upcoming topics.

Can I contribute to translations?

Yes. Follow the instructions in TRANSLATIONS.md to add or update translations via GitHub issues.

💡 Vibe Coding Tips

["When helping users with the System Design Primer:\n\n1. Interview Preparation: Guide users to the study guide matrix to select topics based on their timeline (e.g., 'Short timeline' for 1-month prep). Focus on high-impact areas like scalability, databases, and caching.\n\n2. Flashcard Usage: Recommend importing all three Anki decks (System Design, Exercises, OO Design) and using them daily for 20-30 minutes. Suggest enabling 'Spaced Repetition' in Anki settings.\n\n3. Interview Questions: For each question (e.g., 'Design Twitter'), walk through the four-step framework: 1) Outline use cases/constraints, 2) High-level design, 3) Core components, 4) Bottlenecks. Use the provided solutions as templates.\n\n4. Real-World Examples: Pair theoretical topics with real-world architectures (e.g., 'CAP theorem' → 'How Cassandra handles AP'). Direct users to the 'Company engineering blogs' section for deeper dives.\n\n5. Common Pitfalls: Warn users against memorizing solutions—emphasize understanding trade-offs (e.g., 'Why choose eventual consistency over strong consistency?'). Encourage practicing whiteboard explanations."]

Открыть в Telegram