Сериализация и клонирование

Это разные задачи:

Сериализация не гарантирует корректную deep-копию доменной модели: она может потерять типы, инварианты, общие ссылки или служебное состояние.

// Контракт копии виден прямо в модели.
Order copy = Order.copyOf(source);

Быстрый выбор

НужноРешение
снимок для API/очередиявный DTO и формат
копия value objectчасто не нужна
копия изменяемой моделиcopy constructor/фабрика
совместимость старого Java APIосторожный Cloneable

На собеседовании

Вызывает ли clone конструктор? Object.clone() — нет.

Является ли serialize/deserialize хорошим общим deep clone? Нет: дорого и семантика формата не равна контракту копирования.

Что нужно определить до копирования? Какие вложенные объекты разделяются, а какие получают новую идентичность.