Встречается на 1% собеседований по Python

Какие знаешь уровни валидации

Валидацию можно разделить на несколько уровней:

  1. Клиентская (Frontend) - проверка данных на стороне пользователя (HTML5 атрибуты, JavaScript). Быстрая, но ненадёжная, так как её можно обойти.
python
# Пример валидации на клиенте (обычно JS)
<input type="email" required>
  1. Серверная (Backend) - основная валидация в бэкенде. Используются библиотеки типа Pydantic, Django Forms, DRF Serializers.
python
from pydantic import BaseModel, EmailStr

class User(BaseModel):
    email: EmailStr
    age: int = Field(gt=0)
  1. Бизнес-логика - проверка условий, специфичных для предметной области (например, достаточность баланса).
python
if user.balance < order.total:
    raise ValueError("Недостаточно средств")
  1. База данных - ограничения на уровне СУБД (UNIQUE, NOT NULL, CHECK).
sql
CREATE TABLE users (
    email VARCHAR(255) UNIQUE NOT NULL,
    age INTEGER CHECK (age > 0)
);
  1. Интеграционная - проверка данных при взаимодействии с внешними API/сервисами.

Идеальный подход - многоуровневая валидация с дублированием критичных проверок.

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

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

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

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