</> MAANG.io

Expert

Design landmark systems in depth, from Dynamo, GFS, Bigtable and Kafka to payments and ads pipelines.

0 of 232 solved 0%

Section 7: Every Monday at Nine, Wherever Nine Is - Deep Dive: Recurrence, Time Zones & Exceptions

Executive Summary: A recurring event is a rule, not a row. We cover RFC 5545's RRULE, RECURRENCE-ID and EXDATE, store Priya's series as New York wall-clock time plus an IANA zone, and walk the DST fortnight in which Tomás sees 14:00, 13:00 and 14:00. Then come the edge cases (missing and doubled times, floating dates, "last Friday", the 31st), the three edit scopes including the atomic :split, deterministic expand-on-read, and two pushbacks: "just materialize it" and "a country changed its DST rules".

The interviewer points at Platform Sync on the board: "Show me how 'every Monday at 9' actually works. Not the boxes. The event."

The Rule, in Its Own Words

Priya's series is three iCalendar lines:

DTSTART;TZID=America/New_York:20261019T090000
DTEND;TZID=America/New_York:20261019T094500
RRULE:FREQ=WEEKLY;BYDAY=MO

FREQ sets the cadence and BYDAY picks the day. COUNT or UNTIL would end the series; Platform Sync has neither, so its series_end_utc is ∞ (Section 5's index). Two more properties edit a running series. EXDATE lists original starts that are cancelled. A RECURRENCE-ID marks an override, a separate component that replaces one instance and is keyed by that instance's original start.

You: "The part people skip is TZID. The 09:00 is a New York wall-clock time, not an instant. Every instance is computed in New York and only then converted to UTC."

Sign in to continue reading

The rest of this lesson is available with a free account. Signing in with Google or Microsoft is free.

Sign in to read the full lesson

Sign in to MAANG.io

Use your Google or Microsoft account — no password to remember.

Continue with Google Continue with Microsoft

Please accept the terms above to continue.