🥱2
Какое значение вернет функция array_unique() для массива с повторяющимися ОБЪЕКТАМИ?
Anonymous Quiz
30%
Удалит все дублирующиеся объекты
32%
Сохранит только первый объект каждого уникального типа
29%
Вернет массив объектов без изменений
9%
Ошибка, так как объекты нельзя сравнивать
В таблице payments(idempotency_key UNIQUE). Повторный запрос с тем же ключом параллельно.
Anonymous Quiz
5%
Оба INSERT успешны
78%
Первый успешен, второй упадёт по уникальному индексу
8%
Оба упадут по deadlock
9%
Оба закоммитятся, т.к. разные транзакции
У вас endpoint POST /payments с заголовком Idempotency-Key. Как гарантировать, что повторные запросы с тем же ключом не создадут дубль?
Anonymous Quiz
7%
Хранить ключ в памяти PHP-процесса и проверять массивом
8%
Проверять наличие платежа по сумме и пользователю
25%
Делать SELECT + INSERT в одной транзакции без блокировок
60%
Делать атомарный SETNX (или INSERT ... ON CONFLICT DO NOTHING) и возвращать ранее созданный ресурс