Loading…
While this loads — quick one
Every subscriber must get each event. A queue, or pub/sub?
Loading…
While this loads — quick one
Every subscriber must get each event. A queue, or pub/sub?
Loading the question…
While this loads — quick one
Every subscriber must get each event. A queue, or pub/sub?
System design interview question
Every search engine starts with one: “design a web crawler” asks you to download a meaningful part of the web, keep it fresh, never hammer anyone's site, and survive machines dying mid-crawl. It is a question about work lists, parallelism and politeness at scale. Here is how to walk into it, and then how to practise it until the answer is yours.
Practise Web Crawler
Free with an account.
A search company needs to download a billion web pages a month and keep them fresh, starting from a list of known sites and following the links it finds. The same page is often reachable through many different links, and fetching it twice wastes a great deal of work. Sites must be treated politely: never more than one request every few seconds to the same site, or the crawler gets blocked. Fetching is slow and unpredictable, since some sites answer in milliseconds and others time out, so hundreds of machines work in parallel, and a machine that crashes must not lose the pages it was about to fetch. The downloaded pages are large and kept for later processing.
Every phrase that matters in the brief is a requirement in disguise. Spot them before you draw a single box.
“fetching it twice wastes a great deal of work”
A record of every address already seen, checked before queuing.
“never more than one request every few seconds to the same site”
A per-site limit checked before every fetch.
“hundreds of machines work in parallel”
A fleet of fetchers taking work from one shared list.
“a machine that crashes must not lose the pages it was about to fetch”
A list that keeps each address until a fetcher confirms it.
“The downloaded pages are large and kept for later processing”
The same design always gets the same score, with the reason behind every requirement — then defend it against the trade-offs above.
Cheap, durable storage for very large amounts of data.
The answers are not on this page on purpose. Build the design, and these are asked — and marked — once it is submitted.
© 2026 PlayCloudLabs. All rights reserved. Not affiliated with Amazon Web Services.