Код Senior Реализация с нуля обновлено
Разбор и установка cookie
Условие
parseCookies(str) → объект. serializeCookie(name, value, options) → строка вида 'name=value; Max-Age=3600; Path=/; SameSite=Lax'. Значения кодируются.
Что проверяют тесты
разбирает
декодирует значение
значение со знаком равенства
пустая строка
собирает с опциями
флаги без значения
Как подойти
split('=') без ограничения ломается на JWT и base64 - отсюда indexOf и slice. Кодирование не косметика: незакодированная точка с запятой превратит одно значение в два поддельных атрибута. Из атрибутов на собеседовании ждут понимания HttpOnly (недоступна из JS, защита от XSS), Secure (только по HTTPS) и SameSite (защита от CSRF).
Подсказки: 2
- Резать по первому знаку равенства, а не по всем - значение может его содержать.
- Значение обязательно кодировать: точка с запятой в нём разрушит всю строку.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.