Цифровые привычки (вроде на проект #sber )
Прислать задачу | Подписаться
@Service
public class Handler {
@Value("target.uri")
private String targetUri;
@Value("target.port")
private int port;
@Value("target.path")
private String path;
@Autowired
private RestTemplate template;
public boolean handle(Event event) {
try {
String fileContent = Files.readString(Paths.get(event.getSource()));
HttpEntity<String> request = new HttpEntity<>(fileContent);
template.postForObject(targetUri, request, String.class, port, path);
return true;
} catch (Exception exc) {
//exception
throw new RuntimeException("cannot read data");
}
}
}
Прислать задачу | Подписаться
👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤1
Сбер страхование
Какая сложность у этого цикла?
#sber
Прислать задачу | Подписаться
Какая сложность у этого цикла?
for (int i = 0; i < n; ++i) {
for (int j = 1; j < n; j *= 2) {
//something
}
}
#sber
Прислать задачу | Подписаться
❤1👍1
Яндекс
Написать без спринга и с юнитами(за час)
#yandex
Прислать задачу | Подписаться
Написать без спринга и с юнитами
/*
Вы — backend-разработчик в финтех компании.
Компания предоставляет платежные услуги и должна контролировать лимиты пользователей.
Product owner просит создать систему проверки лимитов перед проведением платежей.
## Определения
Платеж:
- id пользователя
- сумма (в рублях с копейками)
- тип операции (только списание)
- время операции
Лимиты пользователя:
- суточный лимит по сумме (за 24 часа)
- максимальный размер одной операции
История операций:
- список совершенных платежей пользователя
## Важно
Настройки лимитов пользователей и история платежей предоставляются другими компонентами системы.
Вам необходимо спроектировать контракты для получения этих данных.
Реализацию этих компонентов делать не нужно.
## Задача
Написать систему проверки лимитов, которая:
- на вход получает платеж
- проверяет лимиты
- возвращает результат проверки: можно ли провести операцию
- если нельзя, то указывает причину (какой именно лимит будет превышен)
Проведение платежа не входит в вашу задачу - другая команда займется обработкой платежей после проверки.
Ваша задача - только проверка возможности проведения платежа.
## Ограничения
В рамках данной задачи считаем, что все платежи одного пользователя происходят строго последовательно.
Во время проверки лимита не может быть проведен платеж того же пользователя.
*/
class PaymentsChecker {
public ??? checkPayment(??? payment) {
Написать систему проверки лимитов, которая:
- на вход получает платеж
- проверяет лимиты
- возвращает результат проверки: можно ли провести операцию
- если нельзя, то указывает причину (какой именно лимит будет превышен)
// TODO implement
}
}
interface PaymentsHistoryService {
// TODO any functions
}
interface UserLimitsService {
// TODO any functions
}
#yandex
Прислать задачу | Подписаться