← Amazon Interview Insights

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

Senior
May 2026

Summary

Amazon system design screen focused on building a home recommendation feature similar to what you'd see on Airbnb. Pretty classic ML-adjacent product design question but it has more depth than it first appears.

Questions Asked (1)

Q1

Design a system that recommends similar home listings to users on a platform like Airbnb.

System DesignProduct Sense & IdeationData Modeling
Author's notes

I went straight to collaborative filtering and the interviewer kind of just waited.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the requirements and scale, then outline a high-level architecture that includes data collection, feature engineering, candidate generation, ranking, and serving. Focus on how to compute similarity between listings using embeddings and how to handle real-time recommendations at scale.

Pro tip: Emphasize the importance of defining 'similar' in the context of user behavior and business goals, and discuss how to evaluate the system with online metrics like click-through rate and booking conversion.

1. Clarify Requirements

Ask questions to understand the scale (number of listings, users, queries per second), latency requirements, and what 'similar' means (e.g., based on location, amenities, price, or user behavior).

2. Data Modeling and Feature Engineering

Identify data sources such as listing attributes, user interactions, and reviews. Discuss how to create features and embeddings for listings (e.g., using text descriptions, images, and location).

3. Similarity Computation and Candidate Generation

Explain how to compute similarity (e.g., cosine similarity between embeddings) and generate a set of candidate listings efficiently using approximate nearest neighbor search (e.g., FAISS, Annoy).

4. Ranking and Personalization

Describe how to rank candidates using a machine learning model that incorporates user context and business rules, and how to personalize recommendations based on user history.

5. Serving and Scalability

Outline the serving architecture (e.g., precomputation, caching, real-time updates) and discuss trade-offs between batch and real-time processing to meet latency and scale requirements.

Key Points to Mention

  • Use of embeddings (e.g., from listing descriptions, images, and location) to represent listings in a vector space.
  • Approximate nearest neighbor (ANN) algorithms for efficient similarity search at scale.
  • Two-stage architecture: candidate generation followed by ranking.
  • Personalization using user behavior and context (e.g., past bookings, search history).
  • Evaluation metrics: offline (precision@k, recall) and online (CTR, conversion rate).
  • Handling cold start for new listings and scalability considerations (sharding, caching).

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