SLIDE 3: What You’ll Learn
Course Coverage
Technical Deep-Dives:
- Complete end-to-end architecture (production-ready)
- Exact database schema with sharding strategy
- API design with all critical endpoints
- Feed generation algorithm (the most complex component)
- Media storage strategy at Instagram’s scale (billions of images)
- Scaling patterns for 500M+ daily active users
Interview Success:
- How to structure your 45-minute system design interview
- What interviewers look for at each stage
- Common mistakes and how to avoid them
- Time management and communication strategies
SLIDE 3B: What You’ll Learn (continued)
Bonus Materials:
- PDF cheat sheet (1-page solution summary)
- Figma architecture templates (editable diagrams)
- Anki flashcards (key concepts for review)
- Interview script template
SLIDE 4: Why This Framework Works
The Approach
This solution draws from three areas:
Production Experience:
- Architectural patterns from building systems at scale
- Trade-offs encountered in real-world scenarios
- Performance optimization techniques used in production
Academic Foundations:
- Computer science fundamentals from distributed systems research
- Algorithm analysis and complexity theory
- Formal approach to system design problems
SLIDE 4B: Why This Framework Works (continued)
Interview Success:
- Structured framework refined through interview preparation
- Feedback from engineers who passed FAANG interviews
- Common patterns that resonate with interviewers
What Makes This Different:
- Not just theory - this reflects how systems are actually built
- Not just practice problems - includes the “why” behind decisions
- Not just architecture - includes implementation details
SLIDE 5: Interview Framework - Start Here
Step 1: Always Start With Requirements
Why This Matters:
- Demonstrates structured thinking and problem-solving approach
- Prevents building the wrong solution
- Shows you understand real-world constraints
- Allows interviewer to guide scope appropriately
Common Mistake:
- Jumping straight to drawing architecture diagrams
- Making assumptions about scope without clarification
- Designing for features that weren’t requested
SLIDE 5B: Interview Framework - Start Here (continued)
Correct Approach:
- Spend 5-7 minutes gathering requirements
- Ask clarifying questions about features and constraints
- Confirm scope explicitly before proceeding
- Take notes on what’s in scope and what’s out of scope
What Interviewers Look For:
- Ability to ask relevant questions
- Understanding of edge cases and constraints
- Clear communication about assumptions
- Confirmation before proceeding to design
Time Allocation in 45-Minute Interview:
5-7 minutes on requirements gathering
SLIDE 6: Functional Requirements
Functional Requirements: What Instagram Does
Core Features:
- Users can upload photos and videos
- Users can follow other users
- Users can view their personalized feed
- Users can like posts
- Users can comment on posts
- Users can view user profiles
- Users can search for other users
Critical Questions to Ask Interviewer:
- “Should we support Instagram Stories and Reels, or focus only on the main feed?”
- “Do we need to include direct messaging functionality?”
- “Should we design the Explore/Discovery page?”
- “Are we supporting both photos and videos, or just photos?”
- “Do we need to handle video streaming and encoding?”
SLIDE 6B: Functional Requirements (continued)
Scope Management:
- Instagram has 100+ features in production
- A 45-minute interview cannot cover everything
- Focus on core photo/video feed functionality
- Explicitly state what’s out of scope
Interview Tip:
Always confirm the scope with your interviewer before proceeding. Say: “Based on our discussion, I’ll design the core photo feed functionality with upload, follow, like, and comment features. Stories, Reels, and DMs are out of scope. Does that sound right?”
SLIDE 7: Non-Functional Requirements - Scale
Non-Functional Requirements: How Instagram Performs
Scale Requirements:
SLIDE 7B: Non-Functional Requirements - Performance
Performance Requirements:
SLIDE 7C: Non-Functional Requirements - Reliability
Availability and Reliability:
- System Uptime: 99.99% (52 minutes downtime per year maximum)
- Data Durability: 99.999999999% (11 nines - cannot lose user photos)
- Disaster Recovery: <10 minute RTO (Recovery Time Objective)
Consistency Model:
- Eventually consistent for feeds (acceptable delay: <1 second)
- Strong consistency for critical operations (likes, follows)
- User may not see their own post in feed immediately (acceptable trade-off)
SLIDE 7D: Non-Functional Requirements - System Characteristics
System Characteristics:
- Read-heavy system (approximately 100:1 read-to-write ratio)
- Write-heavy on uploads (100M posts/day)
- Global distribution required (users worldwide)
SLIDE 8: Out of Scope
What We Won’t Design Today
Explicitly Out of Scope:
Features Not Included:
- Direct messaging and chat functionality
- Instagram Stories and Reels
- Video encoding and streaming infrastructure
- Live video functionality
- Shopping and e-commerce features
- Advertising platform
- Content moderation and ML models
SLIDE 8B: Out of Scope (continued)
Why This Matters:
- 45-minute interview requires focus on core problem
- Shows prioritization skills
- Prevents scope creep
- Allows depth over breadth
How to Communicate This:
“For today’s interview, I’m focusing on the core feed functionality: uploading photos, following users, viewing a personalized feed, and social interactions like likes and comments. More complex features like Stories, messaging, and video streaming would require separate deep-dives. Is this the right scope for our discussion?”
Interview Best Practice:
Always explicitly state what you’re NOT designing. Interviewers appreciate when candidates clearly define boundaries and demonstrate focus.
SLIDE 9: Requirements Summary
Requirements Summary: The Contract
In Scope - Core Functionality:
- Photo and video upload with storage
- User follow/unfollow relationships
- Personalized feed generation and display
- Like and unlike posts
- Comment on posts
- User profile viewing
- Basic user search
SLIDE 9B: Requirements Summary (continued)
Scale Targets:
Key Constraint:
- Eventually consistent system acceptable
- Read-heavy workload (100:1 read:write ratio)
- Global user base requiring low latency worldwide
SLIDE 9C: Requirements Summary (continued)
Next Steps:
“Before I proceed to capacity estimation and architecture design, do these requirements align with what you’re looking for? Any areas you’d like me to adjust or emphasize?”
Interview Tip:
Always get explicit confirmation from your interviewer that requirements are correct before proceeding. This creates a “contract” and prevents misalignment later.