Техническое задание: Ревью и оптимизация кода Node.js

Имеется рабочее приложение на Node.js, в процессе работы возникает критическая ошибка, приводящая к остановке:

Worker terminated due to reaching memory limit: JS heap out of memory

Цель работы

Провести анализ кода, выявить источник утечки памяти (memory leak) и выполнить рефакторинг для стабильной работы приложения.

Основные задачи

  • Провести детальный ревью существующего кода.
  • Используя профилировщик (например, Chrome DevTools, node --inspect), найти участки кода или паттерны, приводящие к неконтролируемому росту потребления памяти.
  • Устранить обнаруженные проблемы. Типичные причины могут включать:
    • Некорректное управление замыканиями (closures).
    • Накопление данных в глобальных переменных или кэшах без очистки.
    • Утечки в обработчиках событий (Event Listeners).
    • Проблемы с потоками (Worker Threads) или асинхронными операциями.
    • Некорректная работа с большими объемами данных (стримы, буферы).
  • Обеспечить, чтобы после оптимизации приложение работало стабильно в долгосрочном режиме (long-running process).
  • Предоставить краткий отчет о проделанных изменениях и причинах утечки.

Требования к исполнителю

  • Опыт работы с Node.js и глубокое понимание его event-loop и модели памяти.
  • Практический опыт диагностики и устранения утечек памяти в Node.js.
  • Умение работать с инструментами профилирования.

Результат работы

  • Оптимизированный, чистый код без утечек памяти.
  • Краткое описание выявленной проблемы и способа её решения.

Подготовка нуклеотидных последовательностей для патентной заявки

Требуется специалист для оформления нуклеотидных последовательностей (панели генов) в программе WIPO Sequence в соответствии с патентными требованиями. Работа связана с подготовкой материалов для заявки на полезную модель.