PracHub
QuestionsLearningGuidesInterview Prep
|Home/Software Engineering Fundamentals/Optiver

Design a News Subscription Processing Engine

Last updated: Jul 28, 2026

Quick Overview

Design a news subscription engine that receives items, manages subscriptions, and publishes each item to matching subscribers. Clarify predicate and delivery semantics while addressing duplicate requests, concurrent removal, subscriber ordering, retries, partial fan-out recovery, backpressure, isolation, and operational visibility.

  • hard
  • Optiver
  • Software Engineering Fundamentals
  • Software Engineer

Design a News Subscription Processing Engine

Company: Optiver

Role: Software Engineer

Category: Software Engineering Fundamentals

Difficulty: hard

Interview Round: Take-home Project

Design a news subscription processing engine with four core capabilities: receive a news item, add a subscription, remove a subscription, and publish matching news to subscribers. Focus on the domain model, APIs, indexing, and correctness under concurrent updates. ### Constraints & Assumptions - A news item has a stable ID and attributes used for matching. - A subscriber may have several subscriptions. - The exact subscription predicate language is not prescribed; begin with a small, explicit model and explain how it could evolve. - Duplicate receipt or publish requests are possible. - Delivery may fail independently for each subscriber. ### Clarifying Questions to Ask - Does receipt automatically trigger publication, or are they separate operations? - What fields may a subscription filter on? - Should removal affect a news item already being published? - What delivery guarantee is required? - Must subscribers observe news in a total order? ### What a Strong Answer Covers ```premium-lock What a Strong Answer Covers ``` ### Follow-up Questions - Add compound subscription predicates. - Preserve per-subscriber ordering across workers. - Recover when publication stops halfway through a large fan-out.

Quick Answer: Design a news subscription engine that receives items, manages subscriptions, and publishes each item to matching subscribers. Clarify predicate and delivery semantics while addressing duplicate requests, concurrent removal, subscriber ordering, retries, partial fan-out recovery, backpressure, isolation, and operational visibility.

Related Interview Questions

  • Design an Event-Driven CPU Overheat Controller - Optiver (hard)
  • Optiver Beat The Odds: Five Rapid-Fire Probability Brainteasers (Dice, Cards, Coins, Pigeonhole) - Optiver (medium)
  • Reviewing a Freight-Scheduler Codebase: Bugs, Data Structures, and Concurrency - Optiver (hard)
  • Design an object-oriented queue and compare implementations - Optiver (medium)
|Home/Software Engineering Fundamentals/Optiver

Design a News Subscription Processing Engine

Optiver logo
Optiver
Jul 19, 2026, 12:00 AM
hardSoftware EngineerTake-home ProjectSoftware Engineering Fundamentals
0
0

Design a news subscription processing engine with four core capabilities: receive a news item, add a subscription, remove a subscription, and publish matching news to subscribers. Focus on the domain model, APIs, indexing, and correctness under concurrent updates.

Constraints & Assumptions

  • A news item has a stable ID and attributes used for matching.
  • A subscriber may have several subscriptions.
  • The exact subscription predicate language is not prescribed; begin with a small, explicit model and explain how it could evolve.
  • Duplicate receipt or publish requests are possible.
  • Delivery may fail independently for each subscriber.

Clarifying Questions to Ask Guidance

  • Does receipt automatically trigger publication, or are they separate operations?
  • What fields may a subscription filter on?
  • Should removal affect a news item already being published?
  • What delivery guarantee is required?
  • Must subscribers observe news in a total order?

What a Strong Answer Covers Premium

Follow-up Questions Guidance

  • Add compound subscription predicates.
  • Preserve per-subscriber ordering across workers.
  • Recover when publication stops halfway through a large fan-out.
Loading comments...

Browse More Questions

More Software Engineering Fundamentals•More Optiver•More Software Engineer•Optiver Software Engineer•Optiver Software Engineering Fundamentals•Software Engineer Software Engineering Fundamentals

Write your answer

Your first approved answer each day earns 20 XP.

Sign in to write your answer.
PracHub

Master your tech interviews with 8,500+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • AI Coding Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.