{"id":14277,"url":"\/distributions\/14277\/click?bit=1&hash=17ce698c744183890278e5e72fb5473eaa8dd0a28fac1d357bd91d8537b18c22","title":"\u041e\u0446\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0442\u0440\u044b \u0431\u0435\u043d\u0437\u0438\u043d\u0430 \u0438\u043b\u0438 \u0437\u043e\u043b\u043e\u0442\u044b\u0435 \u0443\u043a\u0440\u0430\u0448\u0435\u043d\u0438\u044f","buttonText":"\u041a\u0430\u043a?","imageUuid":"771ad34a-9f50-5b0b-bc84-204d36a20025"}

Разбор самого задаваемоего вопроса на продакта в крупных IT компании

Привет, меня зовут Московченко Анастасия — продакт-менеджер в Дзене, ex-Yandex, VK, FunCorp и автор Telegram-канала Product Trends, в котором пишу о карьере и трендах в мире ИТ. В этой статье хочу поделиться ответом на вопрос: “Как работает Интернет?”.

Это будет полезно как и тем, кто только начинает путь в IT, так и опытным специалистам.

Подписывайся на мой тг канал Product Trends

Почему задают этот вопрос?

Такой вопрос в основном задают начинающим специалистам или кандидатам, у которых нет опыта в IT, чтобы подтвердить минимальные знания в IT. Так как, чтобы работать с разработчиками и говорить с ними на одном языке, нужно понимать отличие клиента и сервера.

Вопросы могут звучать так:

  • Пользователь открыл поисковую строку в браузере, что происходит дальше?
  • Друг скинул ссылку в телеграм, что происходит, когда ее открываешь?

Как отвечать на вопрос

Приведу ответ в таком виде и с деталями достаточными для прохождениям собеседования на менеджерские позиции. Конечно, можно углубиться в этом вопросе глубже.

1. Адресация

В браузере отправляется запрос в DNS (Domain Name System — система доменных имён), это распределённая система для получения информации о домене, которая находит соответсвие доменного имени сайта с его ip-адресом.

Далее получаем ip-адрес сервера и сохраняем его в кэше браузера для последующих обращений.

Этот этап еще называется транспортным, тк процесс происходит на транспортном уровне на основе стека протоколов TCP/IP.

2. Установка соединения между клиентом и сервером

Теперь есть данные ip-адреса сервиса, и клиент уже знает, к какому сервису необходимо подключиться.

Тут достаточно сказать, что клиент соединяется с сервисом, и они устанавливают между собой соединение с помощью сетевых протоколов http/https.

• http — текстовый протокол, который служит для передачи информации между клиентом и сервером.

• https — тот же http, только защищенный через механизмы TLS (transport layer security) или SSL (secure sockets layer).

Круто будет, если еще расскажите про установку соединения и тройное рукопожатие (TCP-handshake, TLS-handshake).

3. Как общаются сервер и клиент

После установки соединения клиент отправляет запрос на сервер. Запрос выглядит, например, «GET /url HTTP/1.0»

Из чего состоит запрос:

  • Метод HTTP
  • URL
  • Версия HTTP — 1.0, 1.1, 2.0. Последний отличается тем, что он — бинарный и внутри одного соединения много асинхронных запросов, то есть запрос выполняет быстрее
  • Заголовки — описывают, что за документ пришел сервису.

Вот методы, которые необходимо знать:

GET — запрашивает предоставление ресурса

HEAD — принцип работы аналогичен методу GET, но метод HEAD не передает тело сообщения

POST — создание, изменяет состояние или побочные эффекты на сервере

PUT — обновление

DELETE — удаление указанного ресурса

Можно еще рассказать про cookie (фрагмент данных), это один из заголовков, который необходим для хранения данных на стороне пользователя, например, аутентификации, персональные настройки и тд.

4. Обработка запроса сервисом

Сервер принимает запрос, обрабатывает его и отправляет ответ клиенту.

Ответ состоит из:

  • Кода ответа (например, 403 — нет доступа, 404 — ошибка клиента, 500 — ошибка сервиса) или 200 — ОК, ошибок нет
  • Длина контента (заголовок Content-Length)
  • Тип контента(заголовок Content-Type)
  • Заголовки для кэширования

5. Рендеринг страницы в браузере

Браузер парсит полученный HTML и отрисовывает элемент на экране, и пользователь видит то, что хотел.

Дополнительные вопросы

При ответе на этот вопрос, интервьюер может задать уточняющие вопросы, не стоит их бояться и даже, если что-то не знаете, лучше скажите, что не знаете, чем придумывать что-то из головы, иначе все предыдущее впечатление сможете испортить.

Следующие вопросы в том числе когда-то задавали и мне:

1. Чем отличается TCP от UDP?

2. Чем отличается GET от POST?

3. Чем отличается HTTP от HTTPS?

Итого, ничего сложного нет, если прочитать несколько раз вдумчиво или посмотреть в браузере, как выглядят запросы и ответы, то все легко уложится в голове.

А задавали ли вам такие вопросы на собеседованиях на позицию продакт менеджера?

0
2 комментария
Mikhail Che

ерунда какая-то
очевидно, что это просто очень сильное шаманство

Ответить
Развернуть ветку
am8am

Ох, похоже в рф из айтишников остались только «Дзен» продакты.

Ответить
Развернуть ветку
-1 комментариев
Раскрывать всегда