#539 Код-ревью сервиса интервью и кандидатов
Сделать код-ревью:
@Component
class InterviewService(
private val scoreRepository: ScoreRepository,
private val transactionTemplate: TransactionTemplate,
private val interviewScoreMLService: InterviewScoreMLService,
) {
private val objectMapper = ObjectMapper()
/**
* Метод считает сколько очков заработал кандидат,
* сохраняет результат в базу и кидает callback об этом во внешний сервис
*/
fun process(c: Candidate) {
transactionTemplate.executeWithoutResult {
val s: Score = interviewScoreMLService.compute(c)
val request: Mono<ResponseEntity<Void>> = WebClient.create()
.post()
.body(BodyInserts.fromValue(objectMapper.writeValueAsString(c.name to s)))
.retrieve()
.toBodilessEntity()
scoreRepository.saveScore(s)
}
}
}
data class Candidate(
val name: String,
val exercisesSolvedId: List<Int>,
)
data class Score(
val name: String,
val score: Int,
)
Разбор вопроса
Войди, чтобы начать диалог
Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти
Доступно с Premium
Это лишь одно из решений, доступных с Premium. А ещё:
- 250+ продвинутых лекций
- 1300+ практических заданий
- 500+ решений задач с реальных собеседований
- Именные сертификаты Java Hub
- Расширенный доступ к AI-ментору