← stubhub Interview Insights

stubhub·Software Engineer·Onsite - Coding / Algorithms·Intermediate

Intermediate
Apr 2026

Summary

StubHub coding round for a Software Engineer role, 60 minutes, OOD problem centered around a strategy-based event recommendation engine. The interviewer was a British guy and I noticed all my interviewers across the process had been European/white, which stuck with me a bit. Problem itself was pretty well-scoped and I knew the pattern from grinding forums beforehand.

Questions Asked (1)

Q1

Design a Strategy Recommending Engine for a ticketing platform that selects relevant events for users and sends them emails. Start with simple filtering rules (same city, price under $50) and extend to support multiple composable strategies.

System DesignData ModelingTechnical Trade-offs
Author's notes

Knew this one from a forum post so I wasn't starting from zero.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and defining a simple rule-based filter (city, price) to establish a baseline. Then abstract rules into composable strategies using a common interface, and discuss how to combine them (e.g., AND/OR) and scale with caching and async processing. Emphasize extensibility, performance, and trade-offs between simplicity and flexibility.

Pro tip: Show how you'd evolve the system incrementally: begin with a naive implementation, identify bottlenecks (e.g., N+1 queries, lack of personalization), and propose a strategy pattern with a rule engine. This demonstrates pragmatic thinking and avoids over-engineering upfront.

1. Clarify Requirements and Scope

Ask questions to understand functional and non-functional requirements: What defines relevance? How many users/events? What's the email frequency? What latency is acceptable? This ensures you design for the right scale and constraints.

2. Design Simple Rule-Based Filtering

Propose a basic implementation: query events by city and price, then send emails. Discuss data model (events, users, preferences) and simple SQL queries. Highlight limitations like lack of personalization and scalability.

3. Abstract into Composable Strategies

Introduce a Strategy interface (e.g., `EventFilter`) with implementations like `CityFilter`, `PriceFilter`. Explain how to compose them using AND/OR combinators. Discuss how to register and execute strategies dynamically.

4. Address Scalability and Performance

Discuss optimizations: caching user preferences, precomputing event indexes, using message queues for email sending, and batch processing. Consider trade-offs between real-time and batch recommendations.

5. Extend with Personalization and Feedback

Mention how to incorporate user behavior (clicks, purchases) to rank events, and A/B testing for strategy effectiveness. Discuss monitoring and iterating on strategies.

Key Points to Mention

  • Strategy pattern for composable filters
  • Data model: users, events, preferences, and interactions
  • Scalability: caching, async email sending, batch processing
  • Trade-offs: simplicity vs. flexibility, real-time vs. batch
  • Extensibility: adding new strategies without modifying core logic
  • Personalization: using user history and machine learning for ranking

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.