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

Как спроектируешь ООП для файлообменника

Для файлообменника можно использовать следующие классы:

  1. User – информация о пользователе (логин, пароль, список файлов).
  2. File – метаданные файла (название, размер, тип, владелец, дата загрузки).
  3. Storage – абстракция для работы с файловым хранилищем (загрузка, удаление, поиск).
  4. FileManager – управление файлами (раздача прав, квоты, проверка доступа).

Пример на Python:

python
class User:
    def __init__(self, username, password):
        self.username = username
        self.password = password
        self.files = []

class File:
    def __init__(self, name, size, owner):
        self.name = name
        self.size = size
        self.owner = owner
        self.upload_date = datetime.now()

class Storage:
    def upload(self, file_data):
        # Логика сохранения файла
        pass

class FileManager:
    def share_file(self, file, user):
        if file.owner == user:
            # Логика раздачи прав
            pass

Для масштабирования можно добавить:

  • Шифрование (например, через CryptoFile).
  • Логирование операций.
  • Поддержку разных хранилищ (S3, локальное).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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