Встречается на собеседованиях • сегодня

Как бы реализовал добавление метки клиента в базу данных при погашении кредита

Для реализации можно использовать паттерн "Событие" (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. Возможность легкого добавления новой логики при погашении

Можно добавить транзакционность и обработку ошибок в зависимости от требований.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы