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


Откуда у примитивов взялись методы и свойства?

В JavaScript примитивы, такие как строки, числа и булевы значения, временно оборачиваются в соответствующие объектные типы (String, Number, Boolean) при доступе к их методам. Эти объекты дают доступ к методам и свойствам, после чего примитив снова превращается в своё оригинальное значение.

Подробнее

Как работают шаблонные литеральные типы (template literal types) в TypeScript?

Шаблонные литеральные типы позволяют создавать новые строковые типы с использованием шаблонных строк. Это мощный инструмент для создания более точных и динамических строковых типов, например, для создания строго типизированных маршрутов или переменных.

Подробнее

Для чего используется webpack-cli?

Webpack CLI — это интерфейс командной строки, позволяющий запускать Webpack, управлять настройками и выполнять сборку проекта. Без него нельзя использовать Webpack из терминала.

Подробнее

Как удалить дублирующиеся значения из строки?

Проще всего преобразовать строку в массив, удалить дубли через Set и собрать обратно. Если нужно удалить дубли символов — используйте new Set(str) и join. Если нужно удалить дубли слов — сначала разбейте строку по пробелам (split), примените Set, затем join. Важно уточнить, что именно считается “дублем”: символы, слова или подстроки.

Подробнее

Как реализовать поиск всех анаграмм подстроки в строке?

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

Подробнее

Как найти все индексы вхождения подстроки с учётом анаграмм?

Как реализовать алгоритм сжатия строки и оценить его сложность?

Как работает приведение объекта к строке?

Почему данные в localStorage нужно сериализовать?

Если ключи объекта всегда строки и важен порядок вставки — что лучше использовать: Map или обычный объект?

  • Рейтинг:

    4

  • Сложность:

    7

Для поиска всех индексов используется тот же алгоритм со скользящим окном. При каждом совпадении частот текущего окна с эталоном сохраняется индекс начала окна. В результате возвращается массив всех позиций. Алгоритм остаётся линейным по времени.

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

    3

  • Сложность:

    6

Простейший алгоритм сжатия строки — это run-length encoding, при котором одинаковые символы заменяются символом и количеством повторений. Например, aaabb превращается в a3b2. Такой алгоритм выполняется за O(n), так как строка проходит один раз.

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

    3

  • Сложность:

    4

При попытке преобразовать объект к строке JavaScript ищет метод toString() у самого объекта или в его цепочке прототипов. Если toString() возвращает примитив (обычно строку), он используется. Если нет, проверяется метод valueOf(). Если оба метода отсутствуют или возвращают не примитив, будет выброшена ошибка. По умолчанию Object.prototype.toString() возвращает строку вида [object Object].
Подробнее
  • Рейтинг:

    4

  • Сложность:

    2

localStorage может хранить только строки. Если вы попытаетесь сохранить объект, массив или число, они будут автоматически преобразованы в строку через метод toString(), что приведет к потере данных или некорректному формату. Поэтому перед сохранением данные нужно сериализовать в JSON с помощью JSON.stringify(), а при чтении — десериализовать через JSON.parse().
Подробнее
  • Рейтинг:

    4

  • Сложность:

    4

Если ключи всегда строки и важен порядок вставки, то можно использовать и Map, и обычный объект. Однако Map гарантирует порядок вставки для всех ключей, включая строки, и имеет лучшую производительность при частом добавлении/удалении пар. Обычный объект также сохраняет порядок строковых ключей (кроме целочисленных), но может вести себя неочевидно. Для предсказуемости и производительности лучше выбрать Map.
Подробнее
  • Рейтинг:

    5

  • Сложность:

    6

  • Рейтинг:

    4

  • Сложность:

    7

  • Рейтинг:

    4

  • Сложность:

    4

  • Рейтинг:

    4

  • Сложность:

    4

  • Рейтинг:

    4

  • Сложность:

    7