SeniorSystem Design

Our sale goes live at midnight and last year the site fell over in the first four minutes. You have six weeks. How do you design for this year's spike?

What they are really testing: They want to see if you can reason about a step function in load rather than gradual growth, and whether you know that autoscaling does not help you in the first sixty seconds.

A real interview question

Our sale goes live at midnight and last year the site fell over in the first four minutes. You have six weeks. How do you design for this year's spike?

What most people say

drag me

I would set up autoscaling and add more instances, and put a CDN in front so it can handle the traffic.

Autoscaling reacts in minutes and the outage happened in four, so this answer does not engage with the actual failure, and it never names which component broke or what gets sacrificed under load.

The follow-ups they ask next

  • The waiting room itself gets hammered at midnight. Now what?

    Keep it dumb and static, serve it from the CDN as an edge rendered page with a token, and make sure it holds no per user state in the origin.

  • How do you decide what to turn off first?

    Rank features by revenue contribution per unit of load, then shed the expensive low value ones first, and agree that ranking with product before the day, not during the incident.

What the interviewer is listening for

  • Asks for last year's peak and the exact component that failed
  • Says explicitly that autoscaling cannot answer a step function and pre warms instead
  • Protects checkout and degrades everything else behind flags
  • Load tests above last year's peak to find the next bottleneck

What sinks the answer

  • Reaches for autoscaling as the whole answer
  • Adds caching without saying what staleness is acceptable
  • Cannot name a single feature they would sacrifice on the night
  • Never load tests, so the plan is a hypothesis on the biggest revenue day of the year

If you genuinely do not know

Say this instead of freezing. Reasoning out loud from what you do know beats silence every single time, and a good interviewer is listening for exactly that.

I have not owned a sale day yet, but here is the reasoning I would use. I would get last year's peak and the exact failure point, pre warm rather than autoscale, protect checkout, and agree in advance which features we switch off if it hurts.

Keep going with system design

All 336 cloud engineer questions

Knowing the answer is not the same as recalling it under pressure

Sign in to send the questions you fumble to spaced recall, so they come back right before you would forget them, and learn the concepts behind them with hands-on labs.

Start free