Как правильно использовать keys в React? keys служат уникальными идентификаторами элементов в списках React позволяют React эффективно обновлять DOM за счёт сравнения элементов должны оставаться стабильными и…
Как работают generics в TypeScript? язык программирования TypeScript инструмент обобщённого программирования позволяет создавать функции и классы, использующие параметры типов конкретный тип указывается во время…
Что представляет собой Promise и зачем он нужен в JavaScript? Объект для асинхронных операций в JavaScript Хранит результат операции, которая завершается не сразу Может находиться в одном из 3 состояний: pending…
Как свойство box-sizing: border-box рассчитывает размеры элемента? CSS-свойство, определяющее модель коробки объединяет content + padding + border в заданной ширине и высоте сохраняет итоговый размер элемента в…
Как устроен HashMap? За счёт чего достигается константный поиск структура данных формата ключ → значение (хеш-таблица) для ключа вычисляется хеш-код (число) по хеш-коду быстро определяется индекс бакета в бакете…
Как устроен алгоритм Fiber в React? внутренний механизм React для эффективного обновления UI делит вычисления на небольшие микрозадачи (юниты) применяет приоритеты, чтобы сначала обрабатывать наиболее важные изменения…
Как устроен цикл событий (event loop) и как он выполняет асинхронный код? механизм организации асинхронности в JavaScript и средах его выполнения функционирует до тех пор, пока в очереди остаются задачи работает со…
структура данных, предназначенная для хранения упорядоченной последовательности элементов на практике чаще всего реализуются в виде связных списков или массивов связный список: узлы соединяются указателями, память…
Сложность вставки элемента в массив структура данных: массив (статический или динамический) добавление в конец динамического массива: амортизированная сложность — O(1) добавление в начало либо середину: необходимо…
Значения свойства position и сценарии их применения position: static — стандартное значение: элемент остаётся в обычном потоке и не перемещается вручную. Подходит для базовой компоновки без специальных эффектов.…
Оптимизация производительности рендеринга HTML рендеринг = стиль → layout (рефлоу) → paint (перерисовка) сокращение рефлоу: изменять CSS-свойства, не затрагивающие layout, например transform и opacity пакетное…
Способы разрешения коллизий в хэш-таблицах Открытая адресация: свободная позиция подбирается прямо внутри массива варианты: линейное и квадратичное пробирование, а также двойное хеширование Цепочки (chaining):…