Подборка объединяет вопросы, отмеченные на этапах интервью в X5 Tech. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: testing, api, http.
Добавьте метод ModelAdmin в list_display и возвращайте безопасно сформированную ссылку через format_html(). URL формы строят reverse() по имени admin-маршрута, а не конкатенацией строки.
Основные риски — XSS в HTML, неверные URL, утечка доступа и N+1 запросы на связанных объектах. Ссылку нужно строить безопасно и отдельно проверять права на целевую страницу.
Если сущности находятся в независимых БД, обычно сохраняют внешний идентификатор и разрешают связь на уровне сервиса. Обычный внешний ключ не обеспечивает целостность между такими базами.
Django Admin обычно валидирует объект через ModelForm, а та вызывает модельную валидацию, включая Model.clean(). Ошибки ValidationError отображаются в форме до сохранения.
Model.clean() предназначен для пользовательской валидации модели, особенно правил между несколькими полями. Он может выбрасывать ValidationError и вызывается как этап full_clean().
Регуляризацию можно представить как ограничение допустимой области коэффициентов. L2 задаёт шар, L1 — многогранник с вершинами на осях, где некоторые коэффициенты равны нулю.
Основные варианты — L2/Ridge, L1/Lasso и их сочетание Elastic Net. К функции потерь добавляют штраф за величину коэффициентов, ограничивая сложность решения.
Используйте каталог инструментов с понятными схемами и выбирайте только релевантные и разрешённые текущей задаче. Не добавляйте весь большой каталог в каждый prompt без необходимости.
Добавьте создание заявки как отдельный авторизованный инструмент, а RAG оставьте для поиска правил и инструкций. Перед записью соберите обязательные поля, проверьте права и подтвердите действие с пользователем.
Я бы стандартизировал общие контракты, безопасность и наблюдаемость, но не объединял все команды в один сервис без анализа различий. Общая платформа должна уменьшать повторение, а не блокировать развитие.
Для всего 10 000 простых операций накладные расходы параллелизма могут превысить выигрыш. Сначала измерьте последовательный вариант; для тяжёлого CPU-кода в обычном CPython чаще подходят процессы.
Назовите фактическую loss и структуру обучающих примеров: пары, тройки или группы кандидатов. Например, contrastive loss сближает релевантные пары относительно негативов.