← Uber Interview Insights

Uber·Software Engineer·Onsite - System Design / Architecture·Senior

Senior
Jun 2026

Summary

Uber system design round for a software engineer role. The whole interview was basically one big open-ended problem about room booking and ranking, which sounds deceptively simple until you're actually in it trying to justify every design choice on the fly.

Questions Asked (1)

Q1

Design a ranking system that assigns meeting rooms to booking requests. Walk through what factors you'd prioritize (like room usage frequency, how well the room's historical meeting durations match the request, capacity fit, available equipment, and physical proximity), how you'd combine them into a scoring function, how you'd handle cold-start problems and ties, and how you'd run an experiment to validate and tune the weights.

System DesignA/B Testing & ExperimentationProduct Analytics & Metrics
Author's notes

This question has a lot of surface area and I underestimated it early on.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the problem scope and requirements, then propose a weighted scoring function that combines multiple factors, addressing cold-start and ties with fallback strategies. Finally, outline an A/B testing framework to validate and tune the weights based on business metrics.

Pro tip: Emphasize that the scoring function should be configurable and that weights should be learned from data rather than hardcoded, showing you understand the importance of iteration and data-driven decisions.

1. Clarify Requirements and Constraints

Ask questions to understand the scale, business objectives, and constraints (e.g., real-time vs batch, fairness, room types). Define success metrics such as room utilization, booking success rate, and user satisfaction.

2. Identify and Prioritize Factors

List factors like room usage frequency, historical duration match, capacity fit, equipment availability, and proximity. Discuss how each factor impacts the booking experience and business goals.

3. Design Scoring Function

Propose a weighted sum of normalized factors: score = w1*f1 + w2*f2 + ... + wn*fn. Explain normalization techniques (e.g., min-max, z-score) and how to handle missing data.

4. Handle Cold-Start and Ties

For cold-start, use fallback strategies like popularity-based defaults or content-based similarity. For ties, apply secondary criteria (e.g., random selection, room ID) or use a deterministic tie-breaker.

5. Experiment and Tune

Design an A/B test with control (current system) and treatment (new scoring). Define metrics, sample size, and duration. Use techniques like multi-armed bandits or grid search to optimize weights based on online metrics.

Key Points to Mention

  • Weighted scoring function with normalized factors to ensure comparability.
  • Cold-start strategies: use heuristics, popularity, or content-based filtering.
  • Tie-breaking mechanisms: deterministic (e.g., room ID) or random with seed.
  • A/B testing framework: define hypotheses, metrics, and statistical significance.
  • Iterative tuning: use online learning or periodic re-evaluation of weights.
  • Consideration of business metrics: room utilization, booking success rate, user satisfaction.

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