Найти в Дзене

Вопросы для собеседования в IT (React, JS, CSS, Typescript, общие вопросы) Часть 8

81. 📌 Что такое Temporal Dead Zone (TDZ) в JavaScript? 💬 Простое объяснение:
TDZ — это период между входом в область видимости переменной и её инициализацией. В это время переменная существует, но к ней нельзя обратиться — будет ошибка ReferenceError. 🛠 Как работает:
Возникает только для переменных, объявленных через let и const (не для var). Пока код не дошёл до строки объявления, переменная находится в TDZ. 💡 Полезно знать: 🧭 Зачем спрашивают на собеседовании?
Проверяют понимание тонкостей объявления переменных и различий между var, let, const. Это важно для избежания багов в асинхронном коде и замыканиях. 82. 📌 Как работает оператор опциональной последовательности (?.)? 💬 Простое объяснение:
?. позволяет безопасно обращаться к свойствам объекта, даже если часть цепочки может быть null или undefined. Если какое‑то звено цепочки не существует — возвращает undefined, а не бросает ошибку. 🛠 Как работает: 💡 Полезно знать: 🧭 Зачем спрашивают на собеседовании?
Оценивают знание со

81. 📌 Что такое Temporal Dead Zone (TDZ) в JavaScript?

💬 Простое объяснение:
TDZ — это период между входом в область видимости переменной и её инициализацией. В это время переменная существует, но к ней нельзя обратиться — будет ошибка ReferenceError.

🛠 Как работает:
Возникает только для переменных, объявленных через let и const (не для var). Пока код не дошёл до строки объявления, переменная находится в TDZ.

-2

💡 Полезно знать:

  • var поднимается (hoisting) и инициализируется как undefined, поэтому к ней можно обращаться до объявления.
  • TDZ защищает от неожиданных значений и заставляет писать более предсказуемый код.

🧭 Зачем спрашивают на собеседовании?
Проверяют понимание тонкостей объявления переменных и различий между var, let, const. Это важно для избежания багов в асинхронном коде и замыканиях.

82. 📌 Как работает оператор опциональной последовательности (?.)?

💬 Простое объяснение:
?. позволяет безопасно обращаться к свойствам объекта, даже если часть цепочки может быть null или undefined. Если какое‑то звено цепочки не существует — возвращает undefined, а не бросает ошибку.

🛠 Как работает:

-3

💡 Полезно знать:

  • Работает с методами: obj?.method?.()
  • Можно комбинировать с оператором нулевого слияния: obj?.prop ?? "default"
  • Не заменяет полную валидацию, но сокращает проверки вида if (obj && obj.prop).

🧭 Зачем спрашивают на собеседовании?
Оценивают знание современных синтаксических возможностей JS. Это показатель того, что вы следите за обновлениями языка и пишете лаконичный, безопасный код.

83. 📌 Что такое Web Workers и для чего они нужны?

💬 Простое объяснение:
Web Workers — это фоновые потоки в браузере, которые выполняют JavaScript‑код параллельно с основным потоком, не блокируя интерфейс.

🛠 Как работает:

  • Создаётся отдельный скрипт (worker.js), который запускается в своём потоке.
  • Обменивается данными с основным потоком через postMessage() и onmessage.
  • Не имеет доступа к DOM, window, document.
-4

💡 Полезно знать:

  • Подходит для тяжёлых вычислений, обработки изображений, шифрования.
  • Есть разновидности: Dedicated Workers, Shared Workers, Service Workers.

🧭 Зачем спрашивают на собеседовании?
Проверяют понимание многопоточности в браузере и умение оптимизировать производительность. Особенно важно для сложных веб‑приложений.

84. 📌 Что такое Content Security Policy (CSP) и как она защищает сайт?

💬 Простое объяснение:
CSP — это механизм безопасности, который ограничивает, какие ресурсы (скрипты, стили, изображения) может загружать страница. Это снижает риски XSS и других атак.

🛠 Как работает:
Задаётся через HTTP‑заголовок Content-Security-Policy или мета‑тег:

-5
  • default-src — источник по умолчанию для всех ресурсов.
  • script-src — разрешённые источники для скриптов.
  • 'self' — только текущий домен.
  • 'none' — ничего не разрешено.

💡 Полезно знать:

  • Блокирует inline‑скрипты и javascript:‑ссылки (если не разрешено).
  • Помогает предотвратить загрузку вредоносных трекеров и скриптов.
  • Требует тщательной настройки, чтобы не сломать функционал сайта.

🧭 Зачем спрашивают на собеседовании?
Проверяют осведомлённость о веб‑безопасности. Это критично для проектов, где важны защита данных и соответствие стандартам (например, финтех, госсервисы).