Как Python ORM защищает от SQL-инъекций под капотом?
ORM обычно отделяет SQL-шаблон от значений параметров и передаёт их драйверу для безопасной привязки. Пользовательские данные не должны становиться частью синтаксиса запроса.
Читать ответПодготовка к интервью
Разбирайте реальные вопросы, сверяйтесь с подробными ответами и готовьтесь по технологиям и компаниям.
Проверьте, насколько резюме подходит выбранной позиции, и получите рекомендации по улучшению.
Каталог
ORM обычно отделяет SQL-шаблон от значений параметров и передаёт их драйверу для безопасной привязки. Пользовательские данные не должны становиться частью синтаксиса запроса.
Читать ответpathlib представляет пути объектами Path и объединяет построение пути с файловыми операциями. os.path в основном работает со строками и отдельными функциями.
Читать ответПри запуске файла напрямую будет выведено a equals b. Метод A.__eq__ всегда возвращает True, независимо от типа и значения второго объекта.
Читать ответIdentity Map хранит соответствие идентичности строки и Python-объекта внутри Session. При повторной загрузке той же ORM-сущности SQLAlchemy переиспользует уже известный экземпляр.
Читать ответИспользуйте os.getcwd() для строки с текущим рабочим каталогом или pathlib.Path.cwd() для объекта Path. Это каталог процесса, а не обязательно папка исходного файла.
Читать ответOOM Killer выбирает процесс для завершения при исчерпании доступной памяти, в том числе в пределах cgroup. На выбор влияют потребление памяти и oom_score_adj, а не язык приложения.
Читать ответСгруппируйте объекты a по code, затем обходите b и выдавайте группу только при первом появлении кода. Так сохранятся все подходящие объекты из a.
Читать ответМожно предоставить атрибут как property без setter либо использовать frozen dataclass. Это ограничивает обычное присваивание, но не делает объект абсолютной защитой от изменения.
Читать ответКоммутативность относится к операции над конкретными типами, а не к языку целиком. Для обычных целых чисел a + b равно b + a, но для строк порядок меняет результат.
Читать ответПри запуске файла как программы будут выведены Meta и True. Метакласс добавляет created_by при создании и Base, и Child.
Читать ответООП организует поведение и состояние вокруг объектов. В Python классы сами являются объектами, методы используют явный self, а полиморфизм часто строится на протоколах и duck typing.
Читать ответКлюч словаря должен быть хешируемым: иметь стабильный hash и согласованное сравнение равенства. Равные ключи обязаны иметь одинаковый hash.
Читать ответ