"Interview. Etsy has millions of sellers listing handmade items and buyers browsing and searching them. Give me the functional requirements in thirty seconds, then tell me which non-functional requirement actually determines the architecture, and why." How should a strong candidate answer?
Show the full answer Hide the answer
What a weak answer looks like
The weak answer spends four minutes enumerating features — listings, carts, checkout, reviews, messaging, favourites, shipping labels — and never reaches structure. The interviewer learns nothing, because every structure satisfies that list.
What a strong answer looks like
Functional, in thirty seconds: sellers create and edit listings; buyers search, browse, favourite and purchase; payment and shipping settle; both sides message and review.
Then the pivot. The architecture is decided by two non-functional facts that a marketplace of unique inventory has and a catalogue retailer does not:
- Every item is a singleton. There is no "10,000 in stock". A sold item must disappear from search and two buyers cannot both succeed. This forces a genuine consistency decision at exactly one point — the reservation — while leaving everything else free to be eventual.
- The read path is overwhelmingly search and browse over a corpus that changes constantly,
because sellers edit listings all day. So the system is a continuously-updated index with a
freshness SLO, not a database with a
WHEREclause.
The structural consequence: a write path that owns item state transactionally, an asynchronous indexing pipeline with an explicit and measured lag budget, and a checkout path that re-validates against the source of truth rather than trusting the index it was reached from.
The line that earns the point
"Search results are allowed to be stale; the purchase is not. So I design for eventual consistency everywhere and pay for strong consistency only in the reservation — and I make the UI tell the truth about that, by re-checking availability at add-to-cart rather than letting the buyer discover it at payment."
What is really being scored
Not the feature list. Whether you can find the one place a guarantee is genuinely required, and resist paying for it everywhere else.