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

Почему нельзя всегда использовать Serializable

Использование Serializable в Python (например, модуль pickle) не всегда безопасно и эффективно.

  1. Безопасность: Десериализация данных из ненадёжных источников может привести к выполнению произвольного кода (уязвимость RCE).

  2. Совместимость: pickle зависит от версии Python и структуры классов. Изменения в коде могут сломать десериализацию.

  1. Производительность: pickle медленнее JSON или других форматов, особенно для больших данных.

  2. Человекочитаемость: Данные в pickle бинарные, их сложно анализировать без десериализации.

Когда использовать?
Только для временного хранения данных внутри доверенной среды.

Альтернативы:

python
import json

data = {"key": "value"}
serialized = json.dumps(data)  # Безопаснее и читаемо

Для сложных объектов можно использовать dataclasses + json или специализированные форматы (Protobuf, MessagePack).

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

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

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

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