Все проекты

Тестовое задание 15 Jun 2026

regulus - выбор из миллиона id с серверным порядком

regulus - выбор из миллиона id с серверным порядком
  • Express 5
  • TypeScript
  • React 19
  • dnd-kit
  • Docker

Два окна над виртуальным списком в миллион id с серверным порядком, drag-сортировкой и самописной очередью дедупликации и батчинга. Express 5 + React 19.

Задача

Дать пользователю листать, фильтровать и вручную упорядочивать список из миллиона id, оставаясь отзывчивым - и при этом нигде не держать весь миллион в памяти, а заданный порядок переживал бы фильтрацию и перезагрузки.

Подход

Миллион нигде не материализуется: базовый диапазон остаётся обычным целочисленным интервалом, на лету сливается с отсортированным массивом пользовательских id и страницами отдаётся по id-курсору с бюджетом сканирования на запрос - так даже разреженный фильтр не подвешивает event loop. Состояние живёт в памяти сервера, общее для всех, а каждая запись идёт через самописную очередь дедупликации и батчинга.

Результат

Двухоконный селектор с виртуализованным списком и drag-сортировкой, плавный на миллионе строк. Express 5 и React 19 в одном процессе, vitest на очередь и пагинацию, в Docker за Caddy.