🎓 A1Learner
🔍
0 of 17 lessons completed

The Ask

An advanced design problem is one where scale breaks the simple design and machines must agree without trusting the network. The same six interview steps apply, at greater depth.

Clarify the ask

Clarifying the ask comes first. What counts as advanced follows from that clarification.

Beginner problems fitted on one machine or a few machines. Advanced problems spread one service across many machines and many data centers.

The extra machines bring scale. They also bring a harder problem, because no machine sees the whole truth.

Why scale breaks the simple design

The scale shows where simple designs stop working.

100,000,000 requests a day ÷ 86,400 seconds in a day = 1,157 requests a second.

One machine can serve far less than a busy service receives. The design must share the work across machines.

Sharing the work splits the data into copies and shards. Copies and shards must then stay in agreement.

The agreement problem

Agreement means every healthy machine reaches the same decision about the same event. One payment, one seat sale, or one saved edit must not become two different truths.

The network makes agreement hard. Messages can arrive late, arrive twice, or never arrive at all.

A slow machine looks exactly like a failed machine from the outside. No wait is long enough to prove a machine is dead.

So the design cannot trust the network. It must reach safe decisions from partial news.

What the interviewer is testing

The interviewer wants the trade-offs stated out loud. A strong answer names what the design protects and what it gives up.

Consistency and availability pull in opposite directions, as CAP states. Advanced problems make that pull sharper, not new.

A group of 5 machines needs 3 to agree before a decision counts as safe. That rule is central, and the tools behind it enforce it.

How the pieces fit together

The agreement tools come first. Hard problems depend on those tools.

Each problem still walks the same steps. Clarify, estimate, design, go deep, then weigh the trade-offs.

Advanced design is agreement between machines that cannot trust the network.

What changes at advanced scale

AspectThe simple designThe advanced problem
MachinesOne machine or a fewMany machines that must agree
FailureThe whole service stopsOne part fails, the rest keep running
NetworkAssumed reliableDelays, drops, or repeats messages
DataOne true copyCopies that can disagree

Exercise

What makes a design problem advanced?