Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Deduplicate Ordered Event Stream

Medium
MediumCodingHash TablesArraysStringsAsked 1 times

Problem

In a Meta event ingestion pipeline, you receive a stream of event records in arrival order. Write a function that removes duplicate records while preserving the order of the first occurrence of each unique event.

A record is considered a duplicate if its event_id has already appeared earlier in the stream. Return the filtered list of records in the same relative order as their first appearance.

Formal Specification

  • Input: events, a list of event records
  • Each event record is a dictionary with at least the key "event_id"
  • Output: a list of event records containing only the first occurrence of each distinct event_id

Constraints

  • 0 <= len(events) <= 10^5
  • Each event is a dictionary containing the key event_id
  • event_id values are hashable
  • Preserve the relative order of first occurrences

Function Signature

def deduplicate_events(events):
Practicing as: Solutions Architect interview at Meta

Hi, I'll play your Meta interviewer for the Solutions Architect role. Answer the question above like we're in the room, and I'll respond the way a real interviewer would.

Take this as a live interview session →

You are practicing as a guest. Sign up free to run your code against the sample data. Your draft stays right here.

Sign up freeI have an account
def solve(rows):
    counts = {}
    for row in rows:
        ...
    return result
Sign up to unlock solutions
Meta Solutions Architect Interview Questions
Next questions
MetaDeduplicate Meta Event StreamEasyKlaviyoDeduplicate Events Preserving First OrderEasyProvidenceOptimize Duplicate Event DetectionMedium