Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Специализация

Python Backend Developer

Java Backend Developer

Node.js Backend Developer

Golang Backend Developer

React Frontend Developer

Посмотреть все

Выберите навыки

React

React

JavaScript

JavaScript

Git

Git

Redux

Redux

Webpack

Webpack

Посмотреть все

Сложность

1-3

4-6

7-8

9-10

Рейтинг вопросов

1

2

3

4

5

Подпишись на React Developer в телеграм

Вопросы React Frontend Developer


Расскажите про this и контекст

this в JavaScript — это ключевое слово, которое ссылается на текущий контекст выполнения. Контекст зависит от того, где и как используется this:

  • В методе объекта this указывает на этот объект.

  • В функции this по умолчанию указывает на глобальный объект (в строгом режиме — undefined).

  • В стрелочных функциях this наследуется из внешнего контекста.

Пример:

const obj = {
	name: "Иван",
	greet() {
		console.log(`Привет, ${this.name}!`);
	},
};
obj.greet(); // Привет, Иван!
Подробнее

Для чего нужен прототип?

Прототип — это объект, от которого другой объект может наследовать свойства и методы. В JavaScript каждый объект имеет скрытое свойство [[Prototype]], которое указывает на его прототип. Это позволяет организовать наследование, чтобы не дублировать код и переиспользовать общие методы. Например, если метод не найден в объекте, JavaScript ищет его в прототипе.

Пример:

const animal = { eats: true };
const dog = Object.create(animal);
console.log(dog.eats); // true
Подробнее

Что такое делегирование событий в JavaScript?

Делегирование событий — это подход, при котором событие обрабатывается на родительском элементе, а не на каждом дочернем элементе, к которому оно относится. Это работает благодаря всплытию событий: событие, вызванное на дочернем элементе, поднимается вверх по дереву DOM до родителя. Этот метод позволяет сократить количество обработчиков событий и упростить их управление.

Пример:

document.getElementById("parent").addEventListener("click", (event) => {
	if (event.target.tagName === "BUTTON") {
		console.log(`Нажата кнопка: ${event.target.textContent}`);
	}
});
Подробнее

Что такое Canvas?

<canvas> — это HTML-тег, который используется для рисования 2D и 3D графики через JavaScript. Сам по себе <canvas> не содержит графики; для её создания используется JavaScript API. Этот элемент полезен для анимаций, игр и динамического рендеринга изображений, но он требует программирования для каждой детали.

Подробнее

Для чего нужен тег <noscript>?

Тег <noscript> отображает содержимое, если у пользователя отключен JavaScript или его браузер не поддерживает скрипты. Это полезно для обеспечения доступности сайта для всех пользователей, включая тех, кто не может использовать JavaScript. Внутри <noscript> можно размещать альтернативные версии контента или инструкции для пользователей.

Подробнее

Для чего нужны data-атрибуты?

Data-атрибуты — это пользовательские атрибуты, начинающиеся с data-, которые позволяют хранить дополнительные данные в HTML-элементах. Эти данные могут быть использованы JavaScript для динамической обработки элементов на странице. Data-атрибуты удобны для передачи данных без необходимости изменения структуры HTML или использования скрытых полей.

Подробнее

Зачем для тега <script> добавляют атрибуты async и defer?

Какие есть виды подключения JavaScript к HTML?

Как работают Content Security Policy (CSP) заголовки и атрибуты вроде integrity в теге <script>?

Что такое CORS (Cross-Origin Resource Sharing), и как он относится к встроенным элементам типа <iframe>, <img>, и <script>?

  • Рейтинг:

    4

  • Сложность:

    6

Атрибуты async и defer у тега <script> используются для управления тем, как и когда браузер загружает и выполняет JavaScript. async загружает скрипт асинхронно и выполняет его сразу после загрузки, не дожидаясь завершения загрузки всей страницы. defer также загружает скрипт асинхронно, но откладывает его выполнение до полной загрузки HTML-документа, что предотвращает блокировку рендеринга страницы.

Подробнее
  • Рейтинг:

    2

  • Сложность:

    3

JavaScript можно подключать к HTML-тексту тремя основными способами: встроенно, через внешний файл и через атрибуты тегов. Встроенный JavaScript помещается внутри тега <script> в HTML-документе. Внешний JavaScript-файл подключается с помощью тега <script src="file.js">. Также можно использовать атрибуты, такие как onclick для обработки событий напрямую в HTML.

Подробнее
  • Рейтинг:

    3

  • Сложность:

    6

Content Security Policy (CSP) — это механизм безопасности, который помогает предотвратить различные типы атак, такие как XSS (Cross-Site Scripting), ограничивая, какие ресурсы могут загружаться на странице. Заголовок CSP определяет, откуда разрешено загружать скрипты, стили и другие ресурсы. 

Атрибут integrity в теге <script> используется для проверки целостности загружаемого скрипта, чтобы убедиться, что он не был изменен. Если хэш скрипта не совпадает с указанным значением, браузер отклонит его загрузку.

Подробнее
  • Рейтинг:

    4

  • Сложность:

    6

CORS — это механизм, который позволяет ограничить или разрешить обмен данными между разными доменами. Браузеры по умолчанию запрещают запросы к ресурсам с другого домена для обеспечения безопасности. Чтобы разрешить такие запросы, сервер должен отправить специальные заголовки. Элементы, такие как <iframe>, <img> и <script>, могут загружать ресурсы с других доменов, но для некоторых операций, например, доступа к содержимому <iframe> из другого домена, требуется поддержка CORS.

Подробнее
  • Рейтинг:

    4

  • Сложность:

    6

  • Рейтинг:

    3

  • Сложность:

    7

  • Рейтинг:

    3

  • Сложность:

    6

  • Рейтинг:

    1

  • Сложность:

    3

  • Рейтинг:

    1

  • Сложность:

    3

  • Рейтинг:

    1

  • Сложность:

    3