← Google Interview Insights

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

SeniorPrefer not to say
Jun 2026

Summary

Google system design round, got asked to build a timer system. Not the most glamorous problem but it had more depth than I expected once we got into the weeds.

Questions Asked (1)

Q1

Design a timer system.

System DesignTechnical Trade-offs
Author's notes

Started with the obvious stuff, a simple delay queue, but the interviewer kept pushing on scale.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the scope: what kind of timer system (e.g., for scheduling tasks, UI countdowns, or distributed timeouts) and the scale requirements. Then propose a high-level design, focusing on core components like a priority queue or timing wheel, and discuss trade-offs between accuracy, scalability, and resource usage.

Pro tip: Demonstrate awareness of real-world constraints by mentioning how you'd handle persistence and recovery, and how you'd monitor and alert on timer drift or failures.

1. Clarify Requirements

Ask questions to understand the use case, scale, accuracy needs, and constraints (e.g., single-node vs distributed, persistence required).

2. High-Level Design

Outline the main components: timer registration, storage of timers, and a mechanism to trigger callbacks at the right time.

3. Deep Dive into Core Components

Choose and justify a data structure (e.g., min-heap, timing wheel) and discuss how to handle concurrency, persistence, and scalability.

4. Discuss Trade-offs and Alternatives

Compare different approaches (e.g., heap vs timing wheel) in terms of time complexity, memory, and suitability for different scales.

5. Address Reliability and Operations

Cover failure scenarios, recovery, monitoring, and how to ensure timers fire correctly even under load or failures.

Key Points to Mention

  • Data structures: min-heap, timing wheel, or hierarchical timing wheel
  • Concurrency and thread-safety: locking, lock-free approaches, or actor model
  • Persistence and recovery: how to store timers durably and reload after restart
  • Scalability: sharding, distributed coordination (e.g., using ZooKeeper or etcd)
  • Accuracy vs efficiency trade-offs: precision of firing, batching, and drift
  • Monitoring and alerting: metrics for timer backlog, latency, and failures

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