Есть ли какие-то паттерны, которые ты прямо используешь в работе?
В работе на Python часто применяю следующие паттерны:
Читать ответПодготовка к интервью
13 вопросов с собеседований в BP
Что проверяют на интервью
Подборка объединяет вопросы, отмеченные на этапах интервью в BP. Здесь можно понять структуру технической проверки и заранее повторить связанные темы. В подборке чаще встречаются темы: django, domain-driven design, frontend.
Каталог
В работе на Python часто применяю следующие паттерны:
Читать ответДа, был такой случай.
Читать ответВ Django разделение бизнес-логики обычно достигается за счёт выделения её из представлений (views) и моделей (models) в отдельные сервисные слои или модули. Это помогает сделать код более поддерживаемым и тестируемым.
Читать ответПаттерн Репозиторий (Repository) служит для абстрагирования доступа к данным и управления ими в приложении.
Читать ответselectrelated и prefetchrelated в Django ORM используются для оптимизации запросов к базе данных при работе с связанными моделями.
Читать ответЧтобы избежать лишних запросов при работе с ORM в Django, особенно при связных моделях, используют методы selectrelated и prefetchrelated.
Читать ответПроблема N+1 возникает, когда для получения связанных данных выполняется один запрос для основной сущности и N дополнительных запросов для каждой связанной записи, что сильно снижает производительность.
Читать ответПаттерн "Адаптер" (Adapter) преобразует интерфейс одного класса в другой, который ожидает клиент.
Читать ответДоменно-определённое проектирование (DDD) — это подход к разработке программного обеспечения, который фокусируется на глубоком понимании предметной области и построении модели, отражающей бизнес-логику.
Читать ответДа, методы prefetchrelated, exists и конструкция Subquery в Django широко используются для оптимизации запросов к базе данных.
Читать ответДля вставки или обновления тысячи записей за раз в Python часто используют bulk-операции, например, bulk insert или bulk update, которые позволяют отправить данные в базу одним запросом или минимальным числом запросов.
Читать ответПаттерн Singleton гарантирует, что у класса есть только один экземпляр, и предоставляет глобальную точку доступа к этому экземпляру.
Читать ответ