Back to problems

Design APIs for a Voting System

System Design · Apple · Hard

You are asked to specify the HTTP API contracts and backing data model for a digital voting product. Start by making explicit which ballot properties you assume: whether ballots are linked to a known voter or anonymous, whether each voter selects one option or multiple, whether a ballot can be changed after submission, and whether partial tallies are visible before the election ends. For the rest of the problem, assume an authenticated voter can submit exactly one final,…

Checking your access…