Встречается на собеседованиях • сегодня

Расскажи про самую сложную задачу которую реализовывал

Реализовывал сложный drag-and-drop интерфейс для конструктора отчетов с вложенными элементами и ресайзом. Основные сложности:

  1. Вложенность элементов - нужно было корректно обрабатывать перетаскивание между разными уровнями вложенности
  2. Ресайз с ограничениями - элементы не должны выходить за границы родителя
  3. Перформанс - при 50+ элементах начинались лаги

Решение:

js
// Использовал react-dnd для drag-and-drop
const [{ isDragging }, drag] = useDrag({
  type: 'REPORT_ITEM',
  item: { id, parentId },
  collect: monitor => ({ isDragging: !!monitor.isDragging() })
});

// Для ресайза - кастомный хук с IntersectionObserver
const { width, handleResize } = useResizeObserver(ref, { 
  minWidth: 200,
  maxWidth: 800 
});

Оптимизировал через React.memo и виртуализацию списков. В итоге добился плавной работы даже с 100+ элементами.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы