Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Как сделать структуру данных (например, префиксное дерево) потокобезопасной?
Для потокобезопасности префиксного дерева можно использовать: мьютексы для блокировки операций, read-write блокировки для оптимизации чтения, или immutable-подход с копированием при изменении. Выбор зависит от частоты операций чтения/записи.
За счёт чего работает ускорение при использовании индекса (B-дерево, структура данных)?
Индексы ускоряют поиск за счет:
Использования B-деревьев (сбалансированная структура)
Сокращения количества операций ввода-вывода
Оптимизации доступа к данным (бинарный поиск вместо полного сканирования)
Является ли любое дерево графом? И наоборот?
Любое дерево является графом (а именно — связным ациклическим графом), но не любой граф является деревом. Граф может иметь циклы или быть несвязным, что не позволяет ему быть деревом.
Что такое красно-черное дерево и зачем оно используется?
Красно-черное дерево — это самобалансирующееся бинарное дерево поиска.
Оно автоматически поддерживает небольшую высоту дерева.
За счёт этого операции поиска, вставки и удаления выполняются за логарифмическое время.TreeMap и TreeSet в Java основаны именно на этой структуре.
Главная цель — предсказуемая производительность.
Превратится ли HashMap в связанный список или дерево, если hashCode() у ключей всегда возвращает одно и то же значение?
При одинаковом hashCode() все элементы окажутся в одном bucket’е. Изначально они будут храниться в виде связанного списка. Начиная с Java 8, при превышении определенного порога список может быть преобразован в дерево. Это улучшает производительность поиска. Однако сам HashMap не превращается полностью в список или дерево.
При каких условиях бакет HashMap превращается в красно-чёрное дерево?
Почему модальные окна обычно реализуют через порталы?
Как происходит парсинг HTML и построение DOM-дерева?
Какие структуры данных можно использовать для хранения IP-подсетей (например, префиксное дерево)?
Рейтинг:
4
Сложность:
7
Начиная с Java 8, бакет HashMap может превращаться в красно-чёрное дерево.
Это происходит при большом количестве элементов в одном бакете.
Цель — ограничить деградацию операций до O(log n).
Дерево используется не всегда, а только при выполнении ряда условий.
Это улучшает стабильность производительности.
Рейтинг:
5
Сложность:
6
Модальные окна реализуют через порталы, чтобы рендерить их вне обычной DOM-иерархии. Это помогает избежать проблем с z-index, overflow и позиционированием. При этом модалка остаётся частью React-дерева. Порталы позволяют сохранить логику React и упростить стилизацию. Это стандартный и рекомендуемый подход.
Рейтинг:
4
Сложность:
6
Браузер читает HTML-документ последовательно, символ за символом. Он разбивает текст на токены и на их основе создаёт узлы DOM. Каждый HTML-тег становится узлом дерева. В результате формируется иерархическая структура, отражающая вложенность элементов страницы.
Рейтинг:
4
Сложность:
8
Для хранения подсетей используют префиксные деревья (trie или radix tree), а также структуры диапазонов, например interval tree. Префиксное дерево эффективно для поиска по CIDR, потому что IP-адрес — это последовательность битов. Такие структуры позволяют выполнять поиск за время, близкое к длине ключа. Они применяются в маршрутизаторах и сетевых фильтрах.
Рейтинг:
2
Сложность:
6
Рейтинг:
1
Сложность:
6
Рейтинг:
2
Сложность:
8
Рейтинг:
4
Сложность:
7
Рейтинг:
5
Сложность:
5