Сравнение применения Depends и обычного вызова функции в FastAPI
Depends включает функцию в граф зависимостей запроса. Прямой вызов в значении параметра выполняется при объявлении обработчика, а не отдельно для каждого запроса.
Читать ответПодготовка к интервью
1967 вопросов для подготовки на позицию Backend-разработчик
Что проверяют на интервью
Подборка помогает системно подготовиться к интервью на позицию Backend-разработчик: проверить теорию, потренировать практические задачи и объяснение решений. В подборке чаще встречаются темы: backend, api, database.
Каталог
Depends включает функцию в граф зависимостей запроса. Прямой вызов в значении параметра выполняется при объявлении обработчика, а не отдельно для каждого запроса.
Читать ответИспользуйте ограниченные timeout и retry с backoff, circuit breaker, лимиты конкурентности и идемпотентность. Неопределённый исход записи нужно сверять, а не повторять вслепую.
Читать ответСделайте максимум пять попыток, после первых четырёх ошибок ждите 1, 2, 4 и 8 секунд. После пятой ошибки пробросьте исключение.
Читать ответСоздайте модель Course с четырьмя полями, явный serializer и read-only список через DRF ListAPIView. Поля ответа перечислите, а не открывайте всю модель.
Читать ответДобавьте timeout и обработку сетевых ошибок, проверьте авторизацию до отправки, уберите секреты из URL и логов. Успешный HTTP-ответ не равен доставленной SMS.
Читать ответНачните с bounded contexts и владельцев данных, а не разбиения по таблицам. Выделяйте сервисы постепенно, сохраняя локальные инварианты агрегатов и явные межконтекстные контракты.
Читать ответrequests.get блокирует event loop внутри async-ручки. Используйте async HTTP-клиент либо сделайте ручку синхронной; добавьте timeout, валидацию пагинации и контролируемые ошибки.
Читать ответСделайте GET /menu для списка команд и POST /menu для выбора. Команда завершения должна завершать пользовательский сценарий, а не останавливать сервер.
Читать ответЯвно сопоставьте русские поля API с полями моделей, переиспользуйте Level и выберите устойчивый ключ Course. Один код специальности здесь не отличает профили разных лет.
Читать ответСравните релиз до и после по трассировкам и времени ожидания зависимостей. Нормальные CPU и память не исключают блокировки БД, N+1, сетевые задержки или очередь соединений.
Читать ответПервая ошибка — get_db используется до определения. Затем нужно согласовать Pydantic-версию, ORM-схемы ответов, проверку владельца и обработку транзакционных ошибок.
Читать ответНачните с границ доменов и модульности монолита, затем выделяйте по одному слабо связанному компоненту через стабильный контракт и обратимое переключение трафика.
Читать ответ