← Microsoft Interview Insights

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

SeniorPrefer not to say
Jun 2026

Summary

Microsoft system design round focused entirely on a re-engagement feature for a chat product. One big open-ended question for the whole session, which sounds manageable until you realize how many dimensions they actually want you to cover.

Questions Asked (1)

Q1

Design a feature that surfaces past conversations to bring users back to a product. Cover how you'd decide which conversations to surface and when, how you'd generate a re-engagement notification, and how you'd personalize this across users with very different usage histories. Address both the system architecture side (data pipelines, ranking service, notification delivery, batch vs. online scoring) and the modeling side (features, personalization signals, cold start, and how you'd measure success).

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

This one sprawls in a way that's hard to contain.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the product context and success metrics, then propose a high-level architecture that separates offline batch scoring from online serving, with a ranking service and notification pipeline. Walk through the modeling choices for personalization, including cold-start strategies, and finish with an experimentation plan to measure impact.

Pro tip: Emphasize the trade-off between freshness and cost: batch scoring for most users, but a lightweight online component for real-time signals like recent activity. Also, mention the importance of a holdout group to measure long-term retention, not just click-through rates.

1. Clarify requirements and define success

Ask about the product, user base, and what 're-engagement' means. Define primary metrics (e.g., DAU, retention) and guardrail metrics (e.g., notification opt-out rate).

2. Design the system architecture

Outline a pipeline: data ingestion (user activity, conversation metadata), feature store, ranking service (batch and online), and notification delivery. Discuss batch vs. online scoring trade-offs.

3. Model conversation ranking and personalization

Describe features (recency, frequency, topic affinity, social signals) and a ranking model (e.g., learning-to-rank). Address cold start with content-based or popularity-based fallbacks.

4. Generate and deliver notifications

Explain how to craft notification content (e.g., 'Continue your conversation with X about Y') and choose timing (e.g., based on user activity patterns). Discuss delivery channels and frequency capping.

5. Measure and iterate

Propose an A/B test with a holdout, measure click-through, re-engagement, and long-term retention. Monitor for novelty effects and ensure ethical considerations.

Key Points to Mention

  • Batch vs. online scoring: use batch for scalability and online for real-time signals.
  • Feature engineering: recency, frequency, topic modeling, user embeddings, and conversation embeddings.
  • Cold start: leverage content-based filtering, popularity, and demographic/contextual signals.
  • Notification delivery: timing optimization, frequency capping, and channel selection.
  • Experimentation: A/B test with holdout, measure CTR, re-engagement, and retention; watch for cannibalization.
  • Scalability: distributed data processing (e.g., Spark), feature store (e.g., Feast), and low-latency serving (e.g., Redis).

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