Design an Experimentation Platform
"Design an experimentation platform" lands on the whiteboard as one phrase hiding two very different systems. Split them out loud before you name a datastore. One half is the write path: when a user shows up, decide which version of a feature they get, the control or one of the variants, and make that decision fast, consistent, and honest. The other half is the read path: watch what those users then do, add it up per variant, and decide whether the difference between control and variant is real or noise. Assignment and measurement. Keep them apart and the design stays coherent under every follow-up. Blur them and you end up measuring an experiment whose users were never cleanly split in the first place.
The trap is to start with the dashboard, the part a product manager sees, and treat the bucketing as a coin flip you wave away. It is the opposite. Every number the platform reports depends on assignment being deterministic and sticky. A user who sees the control on Monday and the variant on Tuesday belongs to neither group and quietly poisons both. Build the assignment service so it cannot do that, then build a measurement pipeline that only ever counts users who genuinely saw the thing. Get those two right and the statistics on top are almost mechanical. Get either wrong and the prettiest significance test in the world is computing a p-value for garbage.
- 1 problem, worked step by step
- 1 diagram
- about 28 min
Premium lessonAffirm 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
Affirm interview guideKnow what Affirm asks before you walk in.
8 coding · 2 system design · 13 behavioral questions
Get their questions first.
InterviewLegend is independent and not affiliated with or endorsed by any company it covers.