Reduce frontend network requests efficiently

Read the full interview experience this question came from →

Quick Overview

This question evaluates a candidate's competency in system and API design, frontend performance optimization, caching and request deduplication strategies, and operational observability for reducing redundant network requests for availability and pricing.

Reduce frontend network requests efficiently

Company: Airbnb

Role: Software Engineer

Category: System Design

Difficulty: hard

Interview Round: Onsite

How would you reduce redundant frontend network requests for availability and pricing? Compare batching endpoints, GraphQL, request coalescing/deduplication, HTTP/2 multiplexing, client-side caching with cache keys and TTLs, and pagination/windowing. Provide an example API schema or query, discuss trade-offs (latency, payload size, cacheability, observability), and outline how you would monitor and roll out the change safely.

Overview: This question evaluates a candidate's competency in system and API design, frontend performance optimization, caching and request deduplication strategies, and operational observability for reducing redundant network requests for availability and pricing.

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

|Home/System Design/Airbnb
Airbnb logo
Airbnb
Aug 12, 2025
hardSoftware EngineerOnsiteSystem Design
12
0

Reduce Redundant Frontend Requests for Availability and Pricing

Context

You are designing the web client and APIs for a bookings marketplace that displays many listings (e.g., 50–200 on search results, plus a detail page). The client repeatedly needs availability and pricing for a user-specified date range and party size. Today it often fires many small, overlapping requests, increasing latency and backend load.

Task

Propose how to reduce redundant frontend network requests specifically for availability and pricing. Compare the following approaches, provide an example API schema or query, discuss trade-offs, and outline safe monitoring and rollout:

  1. Batching endpoints (REST-style)
  2. GraphQL
  3. Request coalescing/deduplication (client and/or server)
  4. HTTP/2 multiplexing
  5. Client-side caching with well-defined cache keys and TTLs
  6. Pagination/windowing of work (e.g., viewport-first)

Include:

  • An example API schema or query (REST batch and/or GraphQL).
  • Trade-offs across latency, payload size, cacheability, and observability.
  • How you would instrument, monitor, and roll out the change safely.

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...