Chapter 11 checkpoint: a web crawler
Every question from this chapter’s lessons. Your first answer to each is the one that counts; afterward you can practice again as often as you like. Passing needs 75% right on the first attempt.
0 of 18 answered0 right on the first attempt
Question 1 of 18
The primer’s crawler makes 4 billion crawls a month. Using 400 requests per second ≈ 1 billion a month, how many pages does it crawl per second?
pages/s
Answers within 5% count.
Question 2 of 18
At 4 billion crawls a month and 500 KB stored per page, how much page content is stored per month, in PB?
Answers within 5% count, in any unit you choose.
Question 3 of 18
At 1,600 pages per second and 500 KB per page, how much download bandwidth does the crawler need, in Gbit/s?
Answers within 5% count, in any unit you choose.
Question 4 of 18
Put the steps of the primer’s crawler loop in order, for a page that turns out to be new.
- Crawl the page
- Take the highest-ranked link from
links_to_crawl - Look in
crawled_linksfor a page with a similar signature - Queue indexing jobs, remove the link from
links_to_crawland record it with its signature incrawled_links
Question 5 of 18
How long does RFC 9309 say a crawler should, at most, keep using a cached copy of a site’s
robots.txt?Question 6 of 18
Why does Mercator’s frontier have front queues and back queues?
Question 7 of 18
Mercator waits 10 times as long as a download took before contacting the same host again. A page from a host took 2 seconds to download. How long until the crawler may contact that host again?
Answers within 2% count, in any unit you choose.
Question 8 of 18
A crawler never lets two threads contact the same server at once, yet site administrators still complain about it. Why?
Question 9 of 18
A distributed crawler assigns each host to one crawling process by hashing the host name. What is the better way to hash, if processes will be added and removed?
Question 10 of 18
Why use SimHash rather than a cryptographic hash such as SHA-256 to find near-duplicate pages?
Question 11 of 18
A Bloom filter must hold 1 billion URLs with a 0.1% false-positive rate. Using m=−(ln2)2nlnp bits, about how much memory does it need, in decimal GB (109 bytes)?
Answers within 5% count, in any unit you choose.
Question 12 of 18
To find 64-bit fingerprints within 3 bits of a new one, the bits are split into 4 equal blocks so that at least one block must match exactly. How many bits is each block?
bits
Answers within 1% count.
Question 13 of 18
A table of 234 fingerprints is keyed on 16 bits. About how many candidates does one lookup return?
candidates
Answers within 5% count.
Question 14 of 18
A crawler uses a Bloom filter for “seen this URL before?”. Some brand-new pages are never crawled. Why?
Question 15 of 18
Mercator’s threads spent 70% of their time on DNS lookups. What fixed it?
Question 16 of 18
A site’s calendar has a “next month” link on every page, forever. How do you stop the crawler following it endlessly?
Question 17 of 18
How do crawlers usually store billions of downloaded pages?
Question 18 of 18
Some pages change every hour and others once a year. How should the crawler schedule re-crawls?