Design a Twitter-like microblogging service

Read the full interview experience this question came from →

Quick Overview

This question evaluates system design competencies including scalable architecture, data and API modeling, feed generation trade-offs, storage and caching strategies, consistency expectations, and operational concerns such as rate limiting, abuse mitigation, and observability.

Design a Twitter-like microblogging service

Company: Asana

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Technical Screen

Design a Twitter-like microblogging system. You can describe it verbally and with structured notes. Requirements: - Users can post short messages. - Users can follow/unfollow others. - Users can view a home timeline/feed with recent posts from accounts they follow. - Support high read volume and write volume. Clarify and address: - Core APIs and data models. - Feed generation approach (fan-out on write vs fan-out on read, or hybrid). - Storage choices, caching, pagination, and ranking. - Consistency expectations (e.g., how quickly a new post should appear). - Operational concerns: rate limiting, abuse/spam, and observability.

Overview: This question evaluates system design competencies including scalable architecture, data and API modeling, feed generation trade-offs, storage and caching strategies, consistency expectations, and operational concerns such as rate limiting, abuse mitigation, and observability.

Read the full Asana Software Engineer interview experience this question came from

Asana logo
Asana
Feb 8, 2026
mediumSoftware EngineerTechnical ScreenSystem Design
16
0

Design a Twitter-like microblogging system. You can describe it verbally and with structured notes.

Requirements:

  • Users can post short messages.
  • Users can follow/unfollow others.
  • Users can view a home timeline/feed with recent posts from accounts they follow.
  • Support high read volume and write volume.

Clarify and address:

  • Core APIs and data models.
  • Feed generation approach (fan-out on write vs fan-out on read, or hybrid).
  • Storage choices, caching, pagination, and ranking.
  • Consistency expectations (e.g., how quickly a new post should appear).
  • Operational concerns: rate limiting, abuse/spam, and observability.