Meta · senior product engineeringSENIOR SWE · COMPANY REHEARSAL
COMPANY INTERVIEW STUDIO
Step 250 of 252
SENIOR SWE · COMPANY REHEARSALSenior interview rehearsal

Meta · senior product engineering

Your worked rehearsal: deliver notifications while preserving preferences and recovery

When Alice posts, Bob may receive an inbox item if he opted in. Alice’s Save must not wait for every follower’s inbox write, and a repeated queue delivery must not create duplicate inbox items. A push notification is a separate external delivery that may already be on a device.

Design durable acceptance and an inbox update first. Then introduce a large sender, queue delay, and privacy changes. The session uses constructed product requirements and does not claim to match Meta’s production services.

Starting point: these drills are build briefs. Implement in a local file or draw the requested architecture. The worked answer is an explanation, not a supplied end-to-end application. Choose one drill per session, then change one requirement after the baseline works.

Meta's published full-loop guide describes coding, system/product design, and behavioral conversations, generally 45 minutes each in a four-to-six-interview loop. It discusses solving two coding problems in roughly 40 minutes and evaluating communication, problem solving, and verification. A self-reported E5 infrastructure account from within the past year describes tree/graph and array/string coding, a staged AI coding exercise, design, and behavioral rounds. Infra is not product; that report is a single anecdote, not a general Meta E5 blueprint.

The room · time-boxed clarity

How it may feel: little time to spend on an elaborate preamble. State constraints, choose an invariant, write executable code, and walk through a boundary test. On design, give the client-to-storage story first, then zoom into the highest-risk decision. This describes preparation for the official format; the specific questions below are not a verified “most asked” list.

Ask first: Is this a product architecture or large-scale system design round? Can you run code? What inputs are promised? Is the AI exercise present, and what tools are permitted?

Animated notification fanout with a celebrity write bypassing per-follower synchronous writes

Choose a coding exercise · eight original drills

The first three mirror categories in one E5 infra report, not its exact prompts; the remainder are original practice.

Drill and exact ask Example to settle before coding Senior stretch
01 · Tree: lowest common ancestor when nodes may be missing tree a→b,c, query (b,x) → none One traversal with presence tracking; skewed tree
02 · Graph: shortest path in unweighted friend edges a—b—c, a—d, target c → 2 Disconnected graph and privacy-filtered nodes
03 · Array: count subarrays summing to k with negatives [1,-1,1], k=1 → 3 Prefix frequencies, integer range
04 · Top-k notifications by (time,id) equal time a,b → deterministic order Multiple shards, cursor stability
05 · Interval merge of video-watch ranges [0,2),[2,4) → [0,4) Half-open semantics and streaming input
06 · Sliding-window distinct viewers a,b,a in last 3 events → 2 Approximate counts at high scale
07 · LRU media metadata cache capacity 2, a,b,get(a),c → evict b Thread safety and stale versions
08 · Progressive mini-system: implement inbox then add mark_read and dedupe replay e1 twice → one unread item Revise design live, document AI use if permitted

Choose an architecture exercise · five original prompts

Prompt First-pass requirement Interviewer changes it
Messenger-style chat Send and read messages Offline sync and per-device ordering
Home feed Followed-user posts Ranking, removals, celebrity accounts
Notifications Alert on a new reply Fanout, batching, opt-out, retries
People search Search public profiles Freshness, privacy and blocked users
Stories Publish expiring media View counts, deletion, cost

Worked session · notification fanout

Interviewer: “When someone posts, notify their followers. Design a product API and service for ordinary and very large accounts. What does a user see if they were offline?”

Clarify aloud: Is a notification required for every post or only opted-in accounts? Exactly-once display or at-least-once delivery? What is the retention period? Assume per-recipient opt-in, eventually visible inbox, 30-day retention, and idempotency key (post_id, recipient_id, channel).

Action Expected observable behavior Edge
Alice posts, Bob opted in Bob gets one inbox item Baseline
Queue redelivers Alice's event Still one item Deduplication
Bob opts out before fanout reaches him No new item Consent at processing time
Alice deletes the post Item removed or tombstoned promptly Privacy/cache invalidation
Celebrity with 20M followers posts Post API returns without 20M synchronous writes Hot-key and backpressure
Bob signs in on two devices Both converge to same read state Device sync
Diagram: Worked session · notification fanout

Think in public: a synchronous loop on the post-write path couples latency to follower count. Write the post and an outbox event transactionally; consume with idempotent inbox writes. Segment high-degree senders: fanout-on-read or hybrid only when it beats precomputation, with a clear freshness contract. Distinguish inbox item identity from push delivery attempt.

Diagram: Worked session · notification fanout

Follow-up 1 (senior): “The notification queue is six hours behind.” Prioritize recent/interactive traffic, cap retries, expose lag, and make the inbox serve the durable source rather than claim eventual processing is instantaneous. Follow-up 2 (staff): “A privacy deletion crosses regions while push has already gone out.” Specify what can be recalled, enforce checks before new deliveries, build deletion propagation and audit metrics; avoid promising retractable push notifications.

Worked extension: isolate urgent work from a six-hour backlog

A single FIFO backlog can make a fresh reply notification wait behind old bulk work. Define classes from product requirements, apply bounded admission, and allocate processing capacity. Do not simply relabel every delayed item “urgent”. At 500 useful writes/s and 350 new writes/s, only 150/s remains for catch-up. A backlog of 90,000 items takes at least ten minutes under those constant-rate assumptions.

Diagram: Worked extension: isolate urgent work from a six-hour backlog

Recheck permission before new delivery. A deletion can remove an inbox item or suppress a pending push, but cannot guarantee recall of content already displayed by another device. Name that limit in both the product response and recovery plan.

Debrief · what a strong answer contains

For coding, check two nontrivial cases before optimizing and spend time explaining complexity. For architecture, label write, queue, worker, permission boundary, read model, and failure-handling. For behavioral, prepare an example where you changed a technical decision after feedback and can quantify the outcome. The infrastructure anecdote is an optional AI-tool rehearsal, not evidence the product loop uses AI coding.

Evidence: Official Meta guide (undated PDF; verify with recruiter) and one E5 infrastructure candidate account (self-report within a year). The exercises are original, checked 22 September 2026.

Sources and further reading · 2