Какие интернет-протоколы знаете
Что проверяют
Раскладываете ли вы протоколы по уровням и понимаете ли, где проходит граница вашего приложения. Заодно смотрят, есть ли за списком практика: чем вы смотрели трафик и что нашли. Следом обычно идёт классика про то, что происходит после ввода адреса в браузере, или про разницу версий HTTP.
Как отвечать
Стройте ответ по стеку TCP/IP, а не алфавитным списком:
- сетевой уровень: IP версий 4 и 6, ICMP как основа
pingиtraceroute; - транспортный: TCP с установкой соединения, гарантией доставки и порядком, и UDP без гарантий, зато дешёвый и лежащий в основе QUIC;
- прикладной веб: HTTP/1.1, HTTP/2 с мультиплексированием запросов в одном соединении и сжатием заголовков HPACK, HTTP/3 поверх QUIC на UDP, где шифрование встроено и нет блокировки очереди на уровне транспорта. Под ними TLS, актуальная версия 1.3;
- инфраструктурные: DNS с преобразованием имён и вариантами DoH и DoT, DHCP для выдачи адресов, NTP для времени;
- обмен сообщениями: WebSocket (RFC 6455) с полным дуплексом после
Upgrade, Server-Sent Events для односторонней ленты, gRPC поверх HTTP/2, MQTT и AMQP для очередей и устройств; - почта и файлы: SMTP на отправку, IMAP и POP3 на получение, FTP, SFTP и SSH.
Для тестировщика добавьте инструменты: curl -v, вкладка Network в DevTools, Wireshark или tcpdump, прокси Charles и Proxyman, проверка сертификата и поведения при обрыве связи.
Где спотыкаются
Называют HTTPS отдельным протоколом. Это тот же HTTP поверх TLS, и понимать это важно, чтобы объяснять ошибки сертификата.
Говорят, что HTTP/2 и HTTP/3 «просто быстрее». Спросят почему, и без мультиплексирования и блокировки очереди ответить будет нечем.
Знают определения TCP и UDP, но не могут привести пример из продукта. Видеозвонок, где потерянный пакет проще выбросить, чем переслать, закрывает вопрос за одну фразу.