PracHub
QuestionsPremiumLearningGuidesCheatsheetNEW
|Home/Coding & Algorithms/Bloomberg

Implement a Composable Event Recommendation Engine

Last updated: Apr 12, 2026

Quick Overview

This question evaluates a candidate's skills in software design and implementation for recommendation systems, focusing on modular object-oriented architecture, composable rule design, configurability of ranking and fallback behavior, and extensibility for experimental signals like weather or seasonality.

  • medium
  • Bloomberg
  • Coding & Algorithms
  • Software Engineer

Implement a Composable Event Recommendation Engine

Company: Bloomberg

Role: Software Engineer

Category: Coding & Algorithms

Difficulty: medium

Interview Round: Onsite

Design and implement a flexible event recommendation engine in Java. You are given domain objects such as `Event`, `Customer`, `Inventory`, and a `LocationService`. Build a campaign-driven recommendation system that selects events for a user without hard-coding each campaign as a separate chain of `if/else` logic. The system should support reusable and composable rules such as: - events within a configurable radius of the user's home location - events in nearby metro areas - events priced below a configurable threshold - events happening this weekend - events happening within the next `N` days - a fallback strategy so the user still receives some recommendation if strict filters return no results A campaign should be able to combine these behaviors in different ways. For example, one campaign might prioritize nearby low-cost weekend events, while another might use a broader 30-day window with a less strict location rule. Describe the classes, interfaces, and evaluation flow you would implement so that: 1. new rules can be added without changing existing campaign logic, 2. campaigns can reuse and compose rules, 3. ranking and fallback behavior are configurable, and 4. experimental signals such as weather, seasonality, or hometown-artist preference can be introduced later.

Quick Answer: This question evaluates a candidate's skills in software design and implementation for recommendation systems, focusing on modular object-oriented architecture, composable rule design, configurability of ranking and fallback behavior, and extensibility for experimental signals like weather or seasonality.

Related Interview Questions

  • Solve meeting and tree problems - Bloomberg (easy)
  • Minimize travel cost with two cities - Bloomberg (easy)
  • Check connectivity between two subway stations - Bloomberg (easy)
  • Design a data structure for dynamic top‑K frequency - Bloomberg (hard)
  • Find tree root and bucket numbers - Bloomberg (hard)
Bloomberg logo
Bloomberg
Jan 21, 2026, 12:00 AM
Software Engineer
Onsite
Coding & Algorithms
1
0
Loading...

Design and implement a flexible event recommendation engine in Java.

You are given domain objects such as Event, Customer, Inventory, and a LocationService. Build a campaign-driven recommendation system that selects events for a user without hard-coding each campaign as a separate chain of if/else logic.

The system should support reusable and composable rules such as:

  • events within a configurable radius of the user's home location
  • events in nearby metro areas
  • events priced below a configurable threshold
  • events happening this weekend
  • events happening within the next N days
  • a fallback strategy so the user still receives some recommendation if strict filters return no results

A campaign should be able to combine these behaviors in different ways. For example, one campaign might prioritize nearby low-cost weekend events, while another might use a broader 30-day window with a less strict location rule.

Describe the classes, interfaces, and evaluation flow you would implement so that:

  1. new rules can be added without changing existing campaign logic,
  2. campaigns can reuse and compose rules,
  3. ranking and fallback behavior are configurable, and
  4. experimental signals such as weather, seasonality, or hometown-artist preference can be introduced later.

Comments (0)

Sign in to leave a comment

Loading comments...

Browse More Questions

More Coding & Algorithms•More Bloomberg•More Software Engineer•Bloomberg Software Engineer•Bloomberg Coding & Algorithms•Software Engineer Coding & Algorithms
PracHub

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

Product

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

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL 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.