Design a Notification System
The reflex is to reach for a social notification system: an event happens, look up followers, drop a card in each feed, hand a push to Apple and Google. Shopify's version is a different animal, and naming the difference early is what separates a commerce answer from a generic one. These are transactional messages tied to the order lifecycle. An order confirmation, a shipping update, a "your package is out for delivery," an abandoned-cart nudge. A buyer expects the confirmation the moment they check out, and a lost one is not a missed like, it is a support ticket and a dent in trust. So durability and reliability lead. Raw latency matters less than being sure the message goes out at all.
Two things reshape the problem in ways a feed design never has to handle. First, almost every event has two audiences. One order fires a confirmation to the buyer and a new-order alert to the merchant, from the same event, on different channels with different rules. Second, this runs multi-tenant across millions of stores that share one pipeline, so one merchant's viral moment cannot be allowed to delay another merchant's confirmations. That fairness question is the heart of the design. It maps straight onto how Shopify already isolates stores. We build the plain fan-out first because the interviewer expects it. The back half goes to the parts that decide the round: per-tenant fairness under a flash sale, the delayed conditional abandoned-cart email, coalescing a merchant's order storm, and knowing whether an email really arrived.
- 2 diagrams
- 5 sections
- about 45 min
Premium lessonShopify interview guide
These took digging.
What candidates walked out with, from 20,000+ reports, forum threads behind logins and write-ups in Chinese. Then solved step by step.
100 companies. Checked every month.
Unlock all 100 companies$49 a year · less than $1 a week · Cancel anytime
Shopify interview guideKnow what Shopify asks before you walk in.
26 coding · 5 system design · 21 behavioral questions
Get their questions first.
InterviewLegend is independent and not affiliated with or endorsed by any company it covers.