Что происходит, когда вы вводите адрес сайта в браузере и нажимаете Enter?
- Опишите путь HTTP-запроса от браузера до сервера и обратно.
- Где тратится время при загрузке страницы?
DNS находит IP → TCP-рукопожатие → TLS-рукопожатие → HTTP-запрос → сервер (балансировщик, приложение, база) → ответ → браузер разбирает HTML, догружает ресурсы и рисует страницу.
- Каждый шаг — минимум один оборот по сети, поэтому важны кэш DNS, keep-alive, CDN
- На сервере: балансировщик → веб-сервер → приложение → кэш и база
- В браузере: парсинг HTML, CSS и JS, построение DOM, раскладка, отрисовка
А ещё Глубину выбирают по вакансии: бэкенд — про сервер, фронтенд — про рендеринг
Подробно
Вопрос открытый: интервьюер смотрит, насколько глубоко и связно вы знаете путь запроса. Хороший ответ — общая цепочка, затем подробнее в своей области.
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.
- Уходить в одну деталь на десять минут, не нарисовав всю картину.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗Браузер сразу отправляет HTTP-запрос по имени без DNS
- ✗TLS-рукопожатие → DNS → HTTP-запрос → TCP-соединение → ответ; страница рисуется до получения ответа сервера по кэшу браузера
- ✓DNS → TCP-рукопожатие → TLS → HTTP-запрос → сервер → ответ → разбор HTML, загрузка ресурсов и отрисовка
- ✗Страница рисуется до получения ответа сервера
Что спросят дальше
Разбор темы
- Как работает интернет — от адреса в браузере до ответа
Что происходит после нажатия Enter, слои сети и стек TCP/IP, TCP и UDP, как работает DNS и как проверять записи.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.