Логотип 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


Что такое setTimeout и setInterval?

setTimeout выполняет указанную функцию один раз через заданное время, а setInterval — периодически, с указанным интервалом. Оба метода работают асинхронно, что значит, что они не блокируют основной поток выполнения программы. Чтобы остановить выполнение setInterval, нужно вызвать clearInterval, а для остановки отложенного вызова setTimeout — clearTimeout.

Подробнее

В чем заключается суть оптимизации методов типа Just-In-Time (JIT)?

Just-In-Time (JIT) оптимизация — это метод, при котором JavaScript-код компилируется в машинный код во время выполнения, а не заранее. Это позволяет движку адаптироваться к реальным условиям работы приложения, оптимизируя часто вызываемые функции и код. JIT-компиляция сочетает преимущества интерпретации и компиляции, обеспечивая более быструю работу кода, особенно в высоконагруженных приложениях.

Подробнее

Как setInterval и setTimeout влияют на this?

В обычных функциях this внутри setInterval/setTimeout теряется (становится window/undefined в strict mode). Стрелочные функции сохраняют this из внешнего контекста.

Подробнее

Если сервер не поддерживает WebSockets, как можно реализовать похожее поведение на стандартном JavaScript?

Если сервер не поддерживает WebSockets, можно использовать Server-Sent Events (SSE) для one-way коммуникации, long polling для эмуляции real-time, short polling для периодических запросов, или WebRTC для peer-to-peer соединений. Также можно использовать коммерческие сервисы like Pusher или Firebase для real-time функциональности.

Подробнее

Гарантирует ли setTimeout выполнение callback ровно через заданное время?

setTimeout не гарантирует выполнение callback ровно через указанное время. Он гарантирует, что callback не выполнится раньше, чем пройдёт заданная задержка. После истечения задержки callback попадает в очередь задач и будет выполнен, когда освободится call stack. На фактическое время влияет нагрузка, блокировки и приоритеты очередей. Поэтому таймер часто срабатывает позже.

Подробнее

Почему setTimeout может выполниться позже указанного времени?

Почему нестабильное интернет-соединение критично для WebSocket?

В каком порядке выполняются setTimeout и Promise.then?

Чем setInterval хуже setTimeout для polling?

Что такое Vanilla Extract и чем он отличается от CSS-in-JS?

  • Рейтинг:

    4

  • Сложность:

    7

setTimeout может выполниться позже, потому что после истечения времени callback попадает в очередь задач и ждёт своей очереди. Если основной поток занят синхронным кодом, выполнение откладывается. Также задержку увеличивают microtask, рендер и обработка событий. В фоне браузер может специально замедлять таймеры. Поэтому задержка может стать заметно больше, чем указанное значение.

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

    5

  • Сложность:

    6

WebSocket зависит от постоянного соединения между клиентом и сервером. При нестабильном интернете соединение часто рвётся или «зависает». Это приводит к потере сообщений и рассинхронизации состояния. Требуется сложная логика переподключения и повторной отправки данных. Без этого приложение становится ненадёжным.

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

    5

  • Сложность:

    6

Promise.then всегда выполняется раньше, чем setTimeout, даже если таймер имеет задержку 0. Это происходит потому, что then попадает в очередь microtasks, а setTimeout — в очередь macrotasks. После завершения синхронного кода event loop сначала очищает очередь microtasks, и только потом берёт следующую macrotask.

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

    4

  • Сложность:

    5

setInterval запускает обработчик по расписанию, даже если предыдущий запрос ещё не закончился, из-за чего появляются параллельные запросы и лишняя нагрузка. Интервалы также “плывут” (drift): если обработчик выполняется долго, фактические моменты запуска смещаются. setTimeout удобнее для polling, потому что позволяет запускать следующий запрос после завершения предыдущего и гибко менять задержку (например, при ошибках увеличить).

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

    3

  • Сложность:

    7

Vanilla Extract — это инструмент для написания CSS с помощью TypeScript, который генерирует обычный CSS на этапе сборки. В отличие от классического CSS-in-JS, стили не создаются в рантайме и не требуют выполнения JS в браузере. Это даёт лучшую производительность и типизацию, но меньше гибкости для динамических стилей. По сути, это “типизированный CSS”, а не стили, живущие в JS во время выполнения.

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

    3

  • Сложность:

    5

  • Рейтинг:

    2

  • Сложность:

    7

  • Рейтинг:

    2

  • Сложность:

    7

  • Рейтинг:

    2

  • Сложность:

    7

  • Рейтинг:

    5

  • Сложность:

    6