Опишите процесс от нажатия Enter в браузере до отображения страницы
Что проверяют
Широту картины и умение её структурировать: вопрос без дна, и по нему смотрят, насколько глубоко вы можете спуститься в любую часть. Для фронтенда самое интересное начинается там, где ответ уже получен, поэтому сетевую часть достаточно пройти уверенно, а подробности оставить на рендеринг.
Как отвечать
Сразу задайте структуру и предложите углубиться в любой шаг.
Разрешение адреса: браузер разбирает введённое как URL или как поисковый запрос, проверяет список принудительного HTTPS, ищет адрес в своём кэше, потом в кэше системы, потом идёт к резолверу.
Соединение: рукопожатие TCP либо сразу QUIC для HTTP/3, затем TLS с согласованием протокола и указанием имени хоста, при повторном визите возможно возобновление сессии.
Запрос и кэш: до сети браузер смотрит память, дисковый кэш и service worker. Свежий по Cache-Control ответ отдаётся без сети вовсе, протухший проверяется условным запросом с If-None-Match и получает 304 без тела.
Рендеринг: HTML разбирается потоком в DOM, параллельно сканер предзагрузки вытаскивает ссылки на ресурсы. CSS блокирует отрисовку и собирается в CSSOM, синхронный скрипт останавливает разбор, defer откладывает выполнение до конца разбора и сохраняет порядок, async выполняется сразу по загрузке. Дальше расчёт стилей, раскладка, отрисовка, композиция слоёв, а в приложении на фреймворке ещё и гидратация.
Где спотыкаются
Заканчивают фразой о том, что браузер получил HTML и показал страницу. Для фронтенд-позиции проверяют как раз этот кусок, а сетевую часть перескажет кто угодно.
Путают поведение скриптов. async не гарантирует порядок выполнения, defer гарантирует и срабатывает до события готовности документа, а обычный тег останавливает разбор документа на месте.
Забывают кэши и считают, что каждый переход обязательно идёт в сеть. Ни повторной проверки со статусом 304, ни service worker в ответе нет, хотя на реальном проекте от них зависит почти всё время загрузки.