← Uber Interview Insights

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

SeniorPending
Jul 2026

Summary

Uber system design round for a software engineer role. The question itself was straightforward but the interviewer spent a chunk of the session texting or replying to messages, which made the whole thing feel like a waste of time. Probably getting rejected from this one.

Questions Asked (1)

Q1

Design a daily puzzle platform where users submit answers and can view a leaderboard or score summary.

System DesignData ModelingAPI & Integrations
Author's notes

The question itself wasn't bad.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements: daily puzzle, user submissions, leaderboard, and score summary. Then design a scalable system with a focus on data modeling for submissions and scores, and APIs for submission and leaderboard retrieval. Discuss trade-offs like consistency vs. availability for leaderboards and consider caching and sharding for scale.

Pro tip: Emphasize idempotency and anti-cheat measures for submissions, as Uber values reliability and fairness. Also, discuss how to handle time zones for daily puzzles and leaderboard resets.

1. Clarify Requirements

Ask questions to understand scale (DAU, submissions per day), latency requirements, and whether leaderboard is global or segmented. Clarify scoring rules and daily reset behavior.

2. High-Level Design

Sketch components: API gateway, submission service, scoring service, leaderboard service, and data stores. Consider using a message queue for asynchronous processing.

3. Data Modeling

Design schemas for puzzles, submissions, and scores. Use a time-series or wide-column store for submissions and an in-memory data store (e.g., Redis sorted sets) for leaderboards.

4. API Design

Define endpoints for submitting answers, retrieving leaderboard, and fetching user score summary. Include pagination and filtering for leaderboard.

5. Scale and Trade-offs

Discuss sharding by puzzle ID or user ID, caching leaderboards, and eventual consistency vs. strong consistency. Address failure scenarios and idempotency.

Key Points to Mention

  • Idempotent submission handling to prevent duplicate scores
  • Use of Redis sorted sets for efficient leaderboard queries
  • Sharding strategies for submissions and leaderboards
  • Caching and CDN for read-heavy leaderboard access
  • Anti-cheat mechanisms (e.g., rate limiting, validation)
  • Time zone handling for daily puzzle resets

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