Что такое партиционирование таблиц в PostgreSQL? Как разделить таблицу товаров?
Есть ли какие-то ограничения у Elasticsearch по полнотекстовому поиску?
Что такое RAG?
В рамках GET-запроса мы можем внести изменения в базу данных?
Что такое DDD и насколько это используется в разработке?
Когда выносить задачу в Celery, а когда в process pool или run_in_executor?
Можешь привести какую-нибудь сложную задачу из опыта работы, с которой возникли проблемы, и как их решал?
Что происходит с памятью после освобождения объектов (например, закрытие большого файла) — Python возвращает её ОС или оставляет себе?
Какие задачи тебе не нравится делать, и как ты справляешься с тем, что тебе их дают?
Зачем нужна Kafka? В чём её суть, плюсы и минусы? Что она не гарантирует?
Раскройте свою зону ответственности: кто курировал задачи, кто их распределял, как отслеживалось с командой.
Какие типы HTTP-методов (эндпойнтов) в REST API знаете?
Как упростить работу с несколькими страховыми компаниями, у которых данные обновляются с разной периодичностью?
Какие нереляционные СУБД знаешь и для каких задач они применяются?
Потребуется ли передача дел?
Расскажи про сборщик мусора в Python: что это такое и как он работает?
Можно ли в GET-запрос добавить body? Что при этом будет происходить?
Как инвалидировать кэш, чтобы он не разрастался бесконечно? Как добавить TTL (time-to-live)?
class ATM(SKD): def __init__(self, atm_api: "SKD"): self.atm_api: SKD = atm_api self.bills_count: dict[int:int] = {bill: self.atm_api.count_banknotes(bill) for bill in BILLS} def withdraw(self, amount: int) -> bool: bills_plan: dict[int: int] = {} remaining = amount for bill in BILLS: available = self.bills_count[bill] take = min(remaining // bill, available) if take > 0: bills_plan[bill] = take remaining -= take * bill if remaining != 0: return False bills_count_const = {50: 0, 100: 2, 500: 0, 1000: 0, ...}, expected = True @pytest.mark.parametrize( "bills_count_const,expected", [ ({5000: 0, 1000: 0, 500: 0, 100: 0, 50: 0}, False), ({5000: 100, 1000: 100, 500: 100, 100: 100, 50: 100}, True), ({5000: 1, 1000: 0, 500: 0, 100: 2, 50: 0}, True) ] ) def test_false(bills_count_const, expected): atm = ATM(FakeSDK()) atm.bills_count = bills_count_const amount = 1000 res = atm.withdraw(amount) assert res == expected
Как бы мы представили граф, который нам нужен для этой задачи, и как из него получить ответ (маршрут)?