← Google Interview Insights

Google·Software Engineer·Onsite - System Design / Architecture·Senior

Senior
Jul 2026

Summary

System design round at Google for a software engineer role. The prompt was about building a school messaging platform where staff send notifications to guardians who have to confirm they saw it. Solid problem with a lot of moving parts.

Questions Asked (1)

Q1

Design a system that lets school staff send messages to students' guardians, where guardians must acknowledge receipt. Cover sender and recipient management, reliable delivery, acknowledgement tracking, reminders, escalation, audit trails, privacy and consent, and reporting.

System DesignAPI & IntegrationsData Modeling
Author's notes

This one sprawled fast.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying functional and non-functional requirements, then design a high-level architecture that separates message ingestion, delivery, acknowledgement tracking, and reporting. Focus on reliability, auditability, and privacy, and discuss trade-offs for each component.

Pro tip: Emphasize idempotency and exactly-once processing for acknowledgements to avoid duplicate escalations, and mention how you'd handle guardians with multiple children or staff sending to groups.

1. Clarify Requirements and Constraints

Ask about scale (number of schools, staff, guardians, messages per day), latency expectations, regulatory requirements (FERPA, GDPR), and integration with existing systems (SIS, email/SMS providers).

2. Design Data Model and APIs

Define entities: Staff, Guardian, Student, Message, Delivery, Acknowledgement, AuditLog. Design RESTful APIs for sending messages, retrieving acknowledgements, and generating reports.

3. Architect for Reliable Delivery and Tracking

Use a message queue (e.g., Pub/Sub) to decouple sending from processing. Implement retries with exponential backoff, dead-letter queues, and idempotent acknowledgement handling. Store delivery and acknowledgement status in a durable database.

4. Implement Reminders, Escalation, and Audit Trails

Schedule reminders via a workflow engine (e.g., Temporal) or cron jobs. Define escalation policies (e.g., after 2 reminders, notify principal). Log all actions immutably for audit.

5. Address Privacy, Consent, and Reporting

Ensure data encryption at rest and in transit, role-based access control, and consent management. Provide reporting dashboards with aggregated metrics and export capabilities.

Key Points to Mention

  • Idempotency and exactly-once processing for acknowledgements to prevent duplicate escalations.
  • Use of message queues and retries for reliable delivery across multiple channels (email, SMS, app).
  • Data model considerations: many-to-many relationships between guardians and students, and message threading.
  • Audit trail design: immutable logs, timestamps, and actor identification for compliance.
  • Privacy and consent: FERPA/GDPR compliance, encryption, access controls, and consent tracking.
  • Reporting: real-time dashboards, aggregated metrics, and export for audits.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.