Mediumpydantic
Что такое Pydantic?
1Постановка
Разберём, что от вас хотят в этом вопросе и как к нему подступиться на собеседовании.
2Решение
Pydantic — библиотека валидации данных через type hints. Создаёт, валидирует и сериализует модели. В Pydantic v2 — Rust core (5-50x быстрее v1).
from pydantic import BaseModel, field_validator, ConfigDict
class User(BaseModel):
model_config = ConfigDict(strict=True, frozen=True, extra='forbid')
id: int
name: str
email: str | None = None
@field_validator('name')
@classmethod
def name_upper(cls, v): return v.upper()
u = User(id=1, name='alice') # '1' → int (str→int coercion, если не strict)
u.model_dump() # {'id': 1, 'name': 'ALICE', ...} → dict
u.model_dump_json() # JSON stringUser(id='abc')→ValidationErrorс детальным описанием;@model_validator(mode='after')— для cross-field;from_attributes=True(ORM mode) — строить из SQLAlchemy моделей;- FastAPI использует Pydantic для request/response models;
- JSON schema generation.
3Как отвечать
- Сначала уточните условия и ограничения, покажите аналитическое мышление.
- Рассуждайте вслух — интервьюеру важен ход мысли, а не только финальный ответ.
- Оцените сложность по времени и памяти (Big-O), если это алгоритмический вопрос.
💡
На реальном собеседовании Alffert подскажет развёрнутый ответ в реальном времени.