How would you throttle a crawler?

Read the full interview experience this question came from →

Quick Overview

This question evaluates competency in scalable distributed system design, including rate limiting, request scheduling, concurrency control, fault tolerance, backoff/retry strategies, deduplication, and observability for networked crawlers.

How would you throttle a crawler?

Company: Nooks

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Onsite

The crawler above is now a production service. Expanding each page requires an outbound HTTP or API call to fetch its links, and upstream services may enforce strict rate limits. Design a crawler that: - Traverses a large set of pages or resources efficiently - Avoids per-host bottlenecks - Does not overwhelm upstream services or accidentally cause a denial-of-service - Handles retries, timeouts, and partial failures safely - Scales across multiple workers or machines Discuss the architecture, concurrency model, request scheduling, deduplication, rate limiting, backoff strategy, fairness across domains, and observability.

Overview: This question evaluates competency in scalable distributed system design, including rate limiting, request scheduling, concurrency control, fault tolerance, backoff/retry strategies, deduplication, and observability for networked crawlers.

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

Nooks logo
Nooks
Feb 28, 2026
mediumSoftware EngineerOnsiteSystem Design
8
0

The crawler above is now a production service. Expanding each page requires an outbound HTTP or API call to fetch its links, and upstream services may enforce strict rate limits.

Design a crawler that:

  • Traverses a large set of pages or resources efficiently
  • Avoids per-host bottlenecks
  • Does not overwhelm upstream services or accidentally cause a denial-of-service
  • Handles retries, timeouts, and partial failures safely
  • Scales across multiple workers or machines

Discuss the architecture, concurrency model, request scheduling, deduplication, rate limiting, backoff strategy, fairness across domains, and observability.