Design and scale a Yelp-like platform
AppleSoftware Engineer · OnsiteLast updated
This question evaluates system design and engineering skills including data modeling, indexing, geospatial and full-text search, caching, replication and sharding for a high-scale reviews platform, together with key generation, storage layout, redirects, rate limiting and analytics for a URL-shortening service, probing the ability to balance scalability, consistency, availability, and operational complexity. It falls under the System Design / Distributed Systems / Databases domain and is commonly asked to assess architectural reasoning and trade-off analysis, testing both conceptual high-level design and practical implementation considerations such as performance, fault tolerance, and operational constraints.
Design a Yelp-like local-business reviews platform. Define the core data model (users, businesses with geocoordinates and categories, reviews, ratings, photos, check-ins, indexes). Explain how you would scale reads (replication, caches, CDN, search indexes) and writes (sharding, queues, consistency, backfills). Discuss search and geospatial queries, cache invalidation, and performance. Also outline a design for a URL-shortening service: key/ID generation and collision handling, storage layout, redirects and CDN usage, rate limiting, analytics, TTL/deletion, custom aliases, and strategies to scale high read/write traffic.
Solution walkthrough is for members
Get the full walkthrough with reference code and complexity analysis, plus Kitty Coach at 300 messages a day. Hints, the code runner and community answers stay free.