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

Как бы взаимодействовали между собой классы для файлообменника

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

  1. File – базовый класс для работы с файлами:
python
class File:
    def __init__(self, name, size, content):
        self.name = name
        self.size = size
        self.content = content

    def get_info(self):
        return f"File: {self.name}, Size: {self.size} bytes"
  1. User – класс пользователя, который загружает/скачивает файлы:
python
class User:
    def __init__(self, username):
        self.username = username
        self.uploaded_files = []
text
def upload_file(self, file, storage):
    storage.add_file(file)
    self.uploaded_files.append(file)
text

3. **`Storage`** – класс хранилища файлов:
```python
class Storage:
    def __init__(self):
        self.files = []

    def add_file(self, file):
        self.files.append(file)

    def find_file(self, name):
        return next((f for f in self.files if f.name == name), None)

Взаимодействие:

python
storage = Storage()
user = User("alice")
file = File("document.txt", 1024, b"data")

user.upload_file(file, storage)  # Пользователь загружает файл
found_file = storage.find_file("document.txt")  # Поиск файла в хранилище

Такая структура обеспечивает:

  • Инкапсуляцию логики работы с файлами
  • Четкое разделение обязанностей
  • Простоту масштабирования (можно добавить шифрование, квоты и т.д.)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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