Встречается на собеседованиях • сегодня
Как бы реализовал добавление метки клиента в базу данных при погашении кредита
Для реализации можно использовать паттерн "Событие" (Event-Driven). При погашении кредита генерируем событие, которое обновляет метку клиента:
java
// Сервис погашения кредита
public class LoanService {
private final EventPublisher eventPublisher;
public void repayLoan(Long loanId) {
// Логика погашения кредита...
eventPublisher.publish(new LoanRepaidEvent(loanId));
}
}
// Обработчик события
@Service
public class LoanRepaidEventHandler {
private final ClientRepository clientRepository;
text
@EventListener
public void handleLoanRepaid(LoanRepaidEvent event) {
Client client = clientRepository.findByLoanId(event.getLoanId());
client.addTag("REPAID_LOAN");
clientRepository.save(client);
}}
text
Ключевые моменты:
1. Разделение ответственности - погашение кредита и обновление метки в разных сервисах
2. Использование событийной модели для слабой связности
3. Возможность легкого добавления новой логики при погашении
Можно добавить транзакционность и обработку ошибок в зависимости от требований.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы