JS JavaScript  ·  25 вопросов  ·  ~70 мин  ·  ⏱ Таймер 10:00  ·  Средний  · 

Хранилища браузера и cookie

Тест проверяет localStorage, sessionStorage, cookie, ограничения объёма, синхронизацию вкладок и приватность. Вопросы требуют выбирать хранилище по сроку жизни и рискам, а не по привычке складывать всё в localStorage.

Отвечено: 0 из 25
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. В тесте 25 вопросов и 70 минут; код лучше читать построчно, не полагаясь на первое впечатление. После завершения откроются общий процент, 5 тематических шкал и объяснение каждого решения.
Вопрос 1 из 25
Что сохранится в localStorage без JSON.stringify?
JavaScript
localStorage.setItem("profile", { name: "Ada" });
console.log(localStorage.getItem("profile"));
Вопрос 2 из 25
Почему JSON.parse(localStorage.getItem("prefs")) может упасть?
JavaScript
const prefs = JSON.parse(localStorage.getItem("prefs"));
Вопрос 3 из 25
Где сработает storage event после записи?
JavaScript
window.addEventListener("storage", event => console.log(event.key));
localStorage.setItem("theme", "dark");
Вопрос 4 из 25
Почему запись большого объекта в localStorage может ухудшить отзывчивость?
Вопрос 5 из 25
Разделяют ли https://app.example и http://app.example одно localStorage?
Вопрос 6 из 25
Когда обычно очищается sessionStorage?
JavaScript
sessionStorage.setItem("draft", "text");
location.reload();
Вопрос 7 из 25
Увидит ли другая уже открытая вкладка запись sessionStorage?
JavaScript
sessionStorage.setItem("step", "3");
Вопрос 8 из 25
Почему sessionStorage подходит для незавершённого шага мастера лучше постоянной настройки?
JavaScript
sessionStorage.setItem("wizardStep", String(step));
// Настройка профиля должна жить дольше этой вкладки.
Вопрос 9 из 25
Что может произойти при window.open новой вкладки с opener?
Вопрос 10 из 25
Почему sessionStorage не является доказательством активной серверной сессии?
Вопрос 11 из 25
Почему HttpOnly-cookie недоступна document.cookie?
JavaScript
console.log(document.cookie); // HttpOnly-сессионной cookie здесь нет
Вопрос 12 из 25
Что требует cookie с SameSite=None в современных браузерах?
JavaScript
document.cookie = "pref=x; SameSite=None; Secure";
Вопрос 13 из 25
Что делает Secure?
Вопрос 14 из 25
Почему широкая Domain=.example.com увеличивает риск?
ТекстЗаголовок Set-Cookie
Set-Cookie: session=...; Domain=.example.com; Secure; HttpOnly
Вопрос 15 из 25
Можно ли удалить серверную cookie только присвоением пустого значения с другим Path?
Вопрос 16 из 25
Что делать при QuotaExceededError?
JavaScript
try {
  localStorage.setItem("cache", hugeText);
} catch (error) {
  // Нужна ветвь восстановления.
}
Вопрос 17 из 25
Какое хранилище лучше для большого набора структурированных офлайн-записей?
Вопрос 18 из 25
Почему токен доступа в localStorage особенно уязвим при XSS?
Вопрос 19 из 25
Какой принцип уменьшает вред утечки локальных данных?
JavaScript
localStorage.setItem("profile", JSON.stringify({
  name, address, birthDate, token, history
}));
Вопрос 20 из 25
Гарантировано ли локальное хранилище навсегда?
Вопрос 21 из 25
Как читать данные после изменения формата prefs с массива на объект?
JavaScript
const saved = JSON.parse(localStorage.getItem("prefs"));
if (saved?.version === 1) {
  // migrate to version 2
}
Вопрос 22 из 25
Почему две вкладки теряют изменения друг друга при схеме read-modify-write?
JavaScript
const state = JSON.parse(localStorage.getItem("state"));
state.count += 1;
localStorage.setItem("state", JSON.stringify(state));
Вопрос 23 из 25
Что делать с повреждённым JSON настроек?
JavaScript
const raw = localStorage.getItem("prefs");
const prefs = JSON.parse(raw);
Вопрос 24 из 25
Как проверить поведение при запрете cookie?
Вопрос 25 из 25
Какой симптом указывает на устаревший клиентский кэш, а не серверную базу?

Ответьте на все 25 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу