Техническое собеседование по Node.js: ревью HTTP-прокси после курса (часть 1)
Запись технического собеседования после курса по Node.js: участник показывает несколько реализаций HTTP-прокси — обработку обычных запросов, CONNECT-туннель, вариант на net, прокси-аутентификацию и TLS. Ведущий задаёт уточняющие вопросы и проводит ревью кода: обсуждаются сокеты и двунаправленные streams, разбор HTTP-сообщений и заголовков, CRLF, значения портов и обработка некорректных данных.
- Опубликовано на YouTube:
- Просмотры на YouTube: 4,9 тыс.
- Лайки на YouTube: 90
Коротко о видео
Запись представляет собой разбор примеров Node.js HTTP Proxy, подготовленных участником после курса. Автор последовательно показывает варианты реализации, начиная с простого HTTP-запроса и переходя к низкоуровневому соединению через модуль net. Ведущий уточняет, как передаются порт, host и заголовки, почему для прокси важна двунаправленность потока и где проходит граница между сокетом и обработчиком. При чтении кода участники обсуждают имена функций, разделение парсинга пакета и заголовка, повторное использование логики и обработку некорректных параметров. Разбор также затрагивает Parser, Transform stream и варианты небольших абстракций для подсчета размера. Это практическая проверка инженерного мышления на конкретном коде.
Затронутые темы
Что взять на заметку
- HTTP-прокси нужно объяснять через соединение с целевым сервером, заголовки и двунаправленную передачу данных.
- Парсинг полного пакета и парсинг его заголовка лучше разделять на отдельные функции.
- Названия функций должны отражать точный объем выполняемого парсинга.
- Низкоуровневый net подходит для контроля соединения, но требует аккуратной обработки данных.
- Даже небольшие примеры полезно проверить на пустые и некорректные параметры.