Задача по PostgreSQL: обеспечить консистентность баланса и защиту от отрицательного баланса при 10 одновременных запросах на списание
Есть таблицы счетов и их позиций. Найти счета, у которых `invoices.total` **НЕ совпадает** с суммой позиций (hours * rate). ## Таблица `invoices`: | id | total | |----|-------| | 1 | 5000 | | 2 | 8000 | | 3 | 3200 | | 4 | 1500 | ## Таблица `invoice_lines`: | invoice_id | service_name | hours | rate | |------------|--------------|-------|------| | 1 | consulting | 10 | 500 | -- 5000 ✓ | 2 | design | 8 | 800 | -- } | 2 | development | 5 | 500 | -- 8900 ≠ 8000 ✗ | 3 | testing | 4 | 800 | -- 3200 ✓ | 4 | support | 2 | 500 | -- } | 4 | analytics | 3 | 300 | -- 1900 ≠ 1500 ✗ ## Ожидаемый результат: | id | total | actual_sum | |----|-------|------------| | 2 | 8000 | 8900 | | 4 | 1500 | 1900 | SELECT id, total, actual_sum ...
Кто писал сообщения в Kafka? Как происходило изменение формата сообщений?
Почему тест падал с NullPointerException и как это исправить?
Какие типы операций есть в стримах (Stream API)?
В чём разница между Story Points и оценкой по времени?
Как у вас в команде происходит оценка задач на грумингах?
Как будет выглядеть решение той же задачи с помощью Spring Data JPA?
Как Spring выстраивает процесс создания бинов с момента запуска приложения? Как работают автоконфигурации и conditional аннотации?
Расскажи про продукт, над которым работал в Магните.
Что такое B-Tree и почему он используется в реляционных БД, а не красно-чёрное дерево?
Как устроена HashMap внутри и как работает?
Чем HAVING отличается от WHERE?
Чем Dockerfile отличается от Docker Compose файла?
Реализовать свой перечислимый тип (enum), как если бы до появления современного enum в Java 1.5. Нужно реализовать контракт современного Java-enum: • можно легко получать любое значение енумa • безопасное сравнение значений по ссылке (==) • каждое значение имеет строковое имя, совпадающее с названием значения • каждое значение имеет целочисленный идентификатор `ordinal`, который содержит номер значения в порядке его объявления в энуме • можно получить список всех значений енумa • можно получить значение по его `ordinal` • можно получить значение по его имени Для примера можно взять список валют. Важно, чтобы список был потенциально расширяемым, потому что качество кода будет определять, насколько беспроблемно в будущем пройдет добавление значений в енум. class Currency { // TODO } --- Дана табличка user_orders |ts|user_id|order_value| Для каждого пользователя вернуть сумму первой покупки.
Какая проблема возникнет в продакшн окружении при многопоточном доступе к сервису (несколько REST-запросов параллельно)?
На какой уровень дохода ориентируешься?
Как вы проводили дедупликацию данных?
Почему готовые отчёты хранятся в MongoDB, а не в S3/объектном хранилище?
Обладает ли топик Kafka свойством FIFO (First In, First Out)?