← Google Interview Insights

Google·Machine Learning Engineer·Onsite - System Design / Architecture·Senior

SeniorPrefer not to say
Jul 2026

Summary

Google ML system design round focused entirely on building an app recommendation system for an app store. Pretty broad scope, they wanted you to go deep on basically every layer from retrieval to serving to experimentation.

Questions Asked (1)

Q1

Design an ML-powered app recommendation system for an app store, covering candidate generation, ranking, serving infrastructure, metrics, cold-start handling, and A/B testing.

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

This is the whole interview in one question basically.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Structure your answer as a two-stage recommendation system: candidate generation (retrieval) followed by ranking, then detail serving infrastructure, metrics, cold-start strategies, and A/B testing. Emphasize scalability, low latency, and how you would measure success and iterate.

Pro tip: Show awareness of the trade-offs between model complexity and serving latency, and propose a fallback strategy for new users or apps to handle cold-start gracefully.

1. Clarify Requirements and Scope

Ask clarifying questions about scale (number of users, apps), latency requirements, and business goals (e.g., increase installs, engagement). Define success metrics upfront.

2. Design Candidate Generation

Propose multiple retrieval sources: collaborative filtering (matrix factorization, two-tower models), content-based (app embeddings from descriptions), and trending/popular apps. Combine candidates via union or weighted blending.

3. Design Ranking Model

Use a deep learning model (e.g., DNN with wide & deep or multi-task learning) to rank candidates. Features: user demographics, app metadata, context (time, device), and user-app interaction history. Optimize for multiple objectives (CTR, install rate, retention).

4. Plan Serving Infrastructure

Describe a low-latency serving architecture: precompute embeddings and candidate sets, use approximate nearest neighbor (ANN) search for retrieval, and deploy ranking model with model serving (e.g., TensorFlow Serving). Ensure scalability and fault tolerance.

5. Define Metrics, Cold-Start, and A/B Testing

Outline offline metrics (recall@k, NDCG) and online metrics (CTR, install rate, retention). For cold-start, use content-based features and explore-exploit (e.g., bandits). Design A/B tests with proper randomization, sample size, and guardrail metrics.

Key Points to Mention

  • Two-stage architecture: candidate generation and ranking
  • Use of embeddings and ANN for efficient retrieval
  • Multi-task learning to balance multiple objectives
  • Cold-start solutions: content-based filtering, bandits, and fallback to popular apps
  • Online metrics: CTR, install rate, retention; offline metrics: recall@k, NDCG
  • A/B testing best practices: randomization unit, sample size, guardrail metrics

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