1. Какие микросервисы вы разрабатывали? Как они взаимодействовали между собой?
Примеры микросервисов:
- Сервис аутентификации (JWT, OAuth).
- Сервис платежей (интеграция с Stripe).
- Сервис уведомлений (Email/SMS).
Взаимодействие через REST API, gRPC или RabbitMQ.
2. Какие меры безопасности вы применяли при работе с Django и Postgres?
Основные меры:
- Django: CSRF-токены,
HTTPS, django-axes.- Postgres: Шифрование, ограничение прав пользователей.
3. Как бы вы реализовали хранение больших бинарных данных (например, BinaryField) в Postgres?
Для небольших файлов (до 1 ГБ) можно использовать
bytea (бинарный тип). Для больших файлов лучше хранить ссылки на файлы в файловой системе или использовать Large Objects (LOB) в Postgres.4. Напишите запрос для выборки всех кредитов физическим лицам с просроченной задолженностью.
SELECT c.*
FROM credits c
JOIN clients cl ON c.client_id = cl.id
WHERE cl.type = 'individual'
AND c.due_date < CURRENT_DATE
AND c.paid_amount < c.total_amount;
5. Как Postgres хранит данные внутри себя?
PostgreSQL хранит данные в таблицах, которые разбиты на страницы (обычно 8 КБ). Каждая страница содержит записи (tuples), а индексы ускоряют поиск.
#microservices #api #rabbitmq #security #django #postgresql #binary #storage #sql #query #database