Получить доступ

Что происходит, когда вы вводите адрес сайта в браузере и нажимаете Enter?

JuniorСети
Ещё спрашивают так:
  • Опишите путь HTTP-запроса от браузера до сервера и обратно.
  • Где тратится время при загрузке страницы?
Коротко

DNS находит IP → TCP-рукопожатие → TLS-рукопожатие → HTTP-запрос → сервер (балансировщик, приложение, база) → ответ → браузер разбирает HTML, догружает ресурсы и рисует страницу.

  • Каждый шаг — минимум один оборот по сети, поэтому важны кэш DNS, keep-alive, CDN
  • На сервере: балансировщик → веб-сервер → приложение → кэш и база
  • В браузере: парсинг HTML, CSS и JS, построение DOM, раскладка, отрисовка

А ещё Глубину выбирают по вакансии: бэкенд — про сервер, фронтенд — про рендеринг

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Вопрос открытый: интервьюер смотрит, насколько глубоко и связно вы знаете путь запроса. Хороший ответ — общая цепочка, затем подробнее в своей области.

1. Разбор адреса. Браузер понимает, что это URL, а не поисковый запрос, проверяет HSTS-список (сразу HTTPS) и кэш.

2. DNS. Кэш браузера, ОС, затем рекурсивный резолвер; при промахе — цепочка корень → зона → авторитетный сервер. Получаем IP.

3. TCP. Тройное рукопожатие с сервером на порт 443 — один RTT. Если соединение с этим хостом уже есть, оно переиспользуется.

4. TLS. Согласование ключа и проверка сертификата — ещё один RTT в TLS 1.3. С HTTP/3 шаги 3 и 4 объединены в QUIC.

5. HTTP-запрос. GET / с заголовками Host, cookies, Accept-Encoding.

6. Путь по инфраструктуре: CDN (может ответить сам из кэша) → балансировщик → обратный прокси (nginx, ingress) → экземпляр приложения → кэш (Redis), база данных, другие сервисы → ответ обратно. Здесь можно рассказать про пулы соединений, кэширование и таймауты.

7. Ответ. Статус, заголовки (Content-Type, Cache-Control, Set-Cookie), тело, обычно сжатое gzip или brotli.

8. Браузер. Разбирает HTML в DOM, встречает CSS и скрипты — грузит их (параллельно, по тем же шагам, но соединение уже есть), строит CSSOM, выполняет JS (синхронные скрипты блокируют разбор, поэтому defer и async), считает раскладку (layout), рисует (paint) и компонует слои.

Где время. Сетевые обороты на мобильной сети — по 50–150 мс каждый, поэтому холодный заход может занять секунду до первого байта. Ускоряют: CDN ближе к пользователю, keep-alive и HTTP/2–3, кэширование статики, предзагрузка (preconnect, dns-prefetch), сжатие.

Пример

$ curl -o /dev/null -s -w "dns %{time_namelookup}  tcp %{time_connect}  tls %{time_appconnect}  ttfb %{time_starttransfer}  total %{time_total}\n" https://example.com
dns 0.012  tcp 0.043  tls 0.081  ttfb 0.154  total 0.155

Что хотят услышать

  • Связная цепочка: DNS → TCP → TLS → HTTP → сервер → ответ → рендеринг.
  • Кэширование на каждом шаге и переиспользование соединений.
  • Что происходит на стороне сервера — для бэкенда.
  • Где тратится время и как ускорить.

Частые ошибки

  • Пропустить DNS или TLS.
  • Уходить в одну деталь на десять минут, не нарисовав всю картину.

Что спросят дальше

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем