Monitor Devices Over an Unreliable Network

Quick Overview

Design device monitoring over unreliable Internet links, handling delayed reports, restarts, retries, and stale status without claiming certainty.

Monitor Devices Over an Unreliable Network

Company: OpenAI

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Onsite

Design a central system that communicates with devices in a power-grid setting over the **unreliable public Internet**. Devices must report their status to the system, and those reports may be delayed or arrive out of order. Explain how the system should exchange messages, maintain a useful view of device status, and recover after connectivity problems. Clarify whether the required communication is limited to monitoring and status requests or also includes state-changing commands. The latter should be treated as a conditional extension; no power-control algorithm is specified. Fleet size, required freshness, device capabilities, message format, and protocol are open requirements to clarify. Label the assumptions behind your proposed design. ### What a Strong Answer Covers - Device identity, message identity, retries, and the distinction between acknowledging receipt and completing a requested action. - A rule for handling duplicate and out-of-order reports, including device restarts. - The difference between the newest received observation and a fresh observation of the device's present state. - How the interface represents stale or unknown status during a network partition. - Durable ingestion, reconnection, and checks that exercise delayed reports and lost acknowledgments. ### Follow-up Questions - What happens when an old report arrives after a newer one, or after the device has restarted? - If the central system receives no response, what can it conclude about the device itself?

Overview: Design device monitoring over unreliable Internet links, handling delayed reports, restarts, retries, and stale status without claiming certainty.

|Home/System Design/OpenAI
OpenAI logo
OpenAI
Aug 24, 2026
mediumSoftware EngineerOnsiteSystem Design
7
0

Design a central system that communicates with devices in a power-grid setting over the unreliable public Internet. Devices must report their status to the system, and those reports may be delayed or arrive out of order.

Explain how the system should exchange messages, maintain a useful view of device status, and recover after connectivity problems. Clarify whether the required communication is limited to monitoring and status requests or also includes state-changing commands. The latter should be treated as a conditional extension; no power-control algorithm is specified.

Fleet size, required freshness, device capabilities, message format, and protocol are open requirements to clarify. Label the assumptions behind your proposed design.

What a Strong Answer Covers Guidance

  • Device identity, message identity, retries, and the distinction between acknowledging receipt and completing a requested action.
  • A rule for handling duplicate and out-of-order reports, including device restarts.
  • The difference between the newest received observation and a fresh observation of the device's present state.
  • How the interface represents stale or unknown status during a network partition.
  • Durable ingestion, reconnection, and checks that exercise delayed reports and lost acknowledgments.

Follow-up Questions Guidance

  • What happens when an old report arrives after a newer one, or after the device has restarted?
  • If the central system receives no response, what can it conclude about the device itself?

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...