# Design Google Forms: system design interview question

> Durable responses during viral traffic, safe retries, revision deadlines, and result totals with clear freshness.

Source: https://sysround.com/questions/design-google-forms
Updated: 2026-11-05


Difficulty: hard. Levels: Senior, Staff+.

## How the interviewer opens it

"Design a service where people create forms, submit responses, and view result totals. A form can become popular very quickly, but the service must not lose accepted responses."

## What to clarify first

- Questions and form changes
- Scale and request mix
- Peak traffic
- Response size and retention
- Latency and result freshness
- Durability and availability
- Retry behavior
- Result meaning
- Access and abuse
- Other boundaries

## Scope of a strong answer

Core requirements:

- Create and publish forms
- Accept responses without losing acknowledged data
- Prevent duplicate responses from request retries
- Show response counts and question totals for each revision

Usually out of scope:

- File uploads
- Conditional question paths
- Payments
- Custom reports
- Service across multiple regions

## What interviewers probe

### Response acceptance

A timeout leaves the client uncertain. A server can also fail after durable acceptance but before result totals change.

### A sudden rise in submissions

One form can generate half the peak traffic. A partition for each form can fail while most of the database remains idle.

### Result accuracy and delay

Worker failures can inflate totals. Different buckets can also advance at different rates, so a recent snapshot can still contain old results.

### Changes to a published form

Respondents can keep old pages open after an owner changes a form. The service must preserve answer meaning and enforce the replacement deadline.

## Common mistakes

- The server acknowledges responses before durable storage.
- The design places all responses for one form in one partition.
- The submission path updates every result counter before it returns.
- The design counts request retries as new responses.
- The owner changes a published form without preserving earlier revisions or enforcing their deadlines.
- The result page reports its refresh time as proof that its totals include recent responses.

## The bar by level

- **Senior:** Separates durable acceptance from result updates. Prevents duplicate writes and contributions. Distributes popular forms across partitions. Handles revision deadlines and worker recovery.
- **Staff+:** Defines inclusion guarantees across buckets. Proves deadline enforcement despite stale metadata. Quantifies recovery capacity, zone failure behavior, and fairness during overload.

Practice this question with an AI interviewer: https://sysround.com/practice/new?problem=forms-and-surveys


---
SysRound (https://sysround.com) is an AI practice tool for system design interviews. It has a voice or typed AI interviewer and a shared whiteboard. At the end, you get feedback on each skill and a model answer. The AI feedback can be wrong.
