Interview Tips
12 min read
January 15, 2024

My System Design Interview Disaster (And How I Fixed It)

👩‍💻

Sarah Chen

Failed my way into Staff Eng at Meta. I write about what actually works in tech interviews.

The Day I Completely Bombed

Let me paint you a picture: There I was, in a tiny conference room at Meta, sweating bullets. The interviewer asks me to design Instagram. My mind? Completely blank. I mumbled something about "databases" and drew a single box labeled "server."

45 minutes of pure agony later, I knew I'd failed spectacularly.

The Wake-Up Call

That night, I couldn't sleep. I kept replaying the interview, cringing at every "um" and "uh." But here's the thing—that disaster was exactly what I needed. It forced me to stop memorizing leetcode and actually learn how systems work.

What Nobody Tells You About System Design

After bombing that interview, I spent 3 months obsessing over system design. Here's what I discovered that no tutorial mentioned:

  • It's Not About Being Right
  • My biggest mistake? Thinking there was a "correct" answer. Turns out, interviewers care more about your thought process. They want to see you think through trade-offs, not recite a textbook solution.

  • Start Stupidly Simple
  • Remember my "single server" drawing? Turns out, that's exactly where you should start! Every interviewer I've worked with since told me they prefer candidates who start simple and iterate.

  • The Magic Questions That Save You
  • Here are the exact questions I now ask in every system design interview:

  • "What's more important—consistency or availability?"
  • "Are we optimizing for read or write?"
  • "What's our budget like?"
  • These questions buy you time AND show you're thinking practically.

    My Actual Instagram Redesign (6 Months Later)

    Fast forward to my next Meta interview. Same question: "Design Instagram." This time? I nailed it. Here's my approach:

    Started with: "So we need a photo-sharing app. Let me start with one user uploading one photo."

    Built up to: Load balancers → CDN for images → Separate metadata DB → Redis for feeds → Kafka for notifications

    Key moment: When I said "Actually, let's revisit this—I think we're over-engineering for our current scale," the interviewer literally smiled.

    The Cheat Sheet I Wish I Had

    For Social Media Systems:

  • Start with posting (write path)
  • Then viewing (read path)
  • Timeline generation is always the hard part
  • Mention celebrity problem early
  • For URL Shorteners:

  • It's all about the ID generation
  • Discuss base62 encoding
  • Cache everything
  • Rate limiting is crucial
  • For Video Streaming:

  • CDN is your best friend
  • Adaptive bitrate streaming
  • Pre-compute multiple resolutions
  • Geography matters
  • Plot Twist: I Got the Job

    Three months after my disaster, I interviewed at Meta again. Different team, same company. When we got to system design, I was ready. Not because I memorized solutions, but because I understood the principles.

    The interviewer later told me it was one of the best system design discussions he'd had. ME. The person who drew a single box.

    Your Turn

    Look, I'm not special. I just failed hard enough to realize I needed a better approach. If you're struggling with system design:

  • Stop watching those 4-hour YouTube tutorials
  • Start designing systems you actually use
  • Fail fast in mock interviews
  • Focus on trade-offs, not perfection
  • And hey, if you bomb your next system design interview? Good. Use it as fuel. I promise you, that failure might be the best thing that happens to your career.

    At least, it was for mine.

    Related Articles