Вернуться в видеотекуКоротко о видео
В учебном интервью по System Design аналитик Егор проектирует web crawler для интернет-поисковика, а Валерий Бабушкин уточняет требования и разбирает решения. Они обсуждают стартовые URL, обход графа страниц, повторное сканирование, оценку объёма HTML и пропускной способности, количество воркеров, очереди, дедупликацию и распределённое хранение. В финале интервьюер отмечает, что кандидат понимает основные идеи, но советует сначала явно формулировать компоненты системы и аккуратнее вести расчёты.
Затронутые темы
Что взять на заметку
- Перед рисованием схемы проговорите состав сервиса: URL frontier/очередь, crawler-воркеры, диспетчер, дедупликация ссылок и документов, хранилище HTML.
- Для поискового краулера недостаточно один раз обойти URL: страницы меняются, появляются через уже известные сайты, поэтому нужны приоритеты и повторный обход.
- BFS полезен для широкого начального покрытия, но его нужно дополнять механизмом revisit, а не считать вершину навсегда обработанной.
- Отдельно дедуплицируйте URL и содержимое документов; одинаковые страницы и разные ссылки на один документ иначе раздуют очередь и хранилище.
- Учитывайте robots.txt, правила фильтрации и нормализацию URL до постановки ссылок в очередь.
- В System Design заранее держите ориентиры по скорости сети, записи на HDD/SSD, числу соединений и размерам данных; фиксируйте единицы измерения, чтобы не терять множители в расчётах.