Java
Qual coleção usar para armazenar o histórico de páginas visitadas sem duplicados, mantendo a ordem?
O que acontece se o processo falhar entre guardar na base de dados e confirmar (commit) o offset no Kafka?
Já há propostas de outros empregadores?
Como funcionará se houver 100 consumidores em um grupo de consumidores com 10 partições?
O que é um líder de features e qual foi a sua experiência nesta função?
Descreva o ciclo de vida de uma entidade no Hibernate.
O que acontecerá se, numa mesma classe, vários campos forem marcados com o modificador volatile?
Fale sobre sua experiência de trabalho no seu último emprego (Lekton). Com o que você trabalhou, qual foi a sua stack?
Fala sobre condição de corrida.
Por que está considerando ofertas de emprego? O que não gosta no seu atual emprego?
O que são índices em SQL e para que servem? Quais são as desvantagens?
Como combater o deadlock na bloqueio pessimista?
Já precisaste de usar a anotação @Transactional no Hibernate? Conta-me como trabalhas com transações.
/** * O método calcula quantos pontos o candidato ganhou, * guarda o resultado na base de dados e chama um callback num serviço externo */ public void process(Candidate c) { transactionTemplate.executeWithoutResult(status -> { Score s = interviewScoreMLService.compute(c); String body = objectMapper.writeValueAsString(Map.of(c.getName(), s)); Mono<ResponseEntity<Void>> request = WebClient.create() .post() .body(BodyInserters.fromValue(body)) .retrieve() .toBodilessEntity(); scoreRepository.saveScore(s); }); }
Qual é a principal causa do comportamento incorreto do código? A imutabilidade dos objetos é violada O estado de interrupção não é tratado O desempenho piora devido ao bloqueio O conflito de objetos de bloqueio leva a uma situação de impasse Síncronia excessiva de recursos Estados de objetos não inicializadosimport java.util.concurrent.*; class Competition { private final Object lock = new Object(); public void syncMethodA(Competition competitor) { synchronized (lock) { try { Thread.sleep(100); } catch (InterruptedException e) {} competitor.syncMethodB(this); } } public void syncMethodB(Competition competitor) { synchronized (lock) { try { Thread.sleep(100); } catch (InterruptedException e) {} competitor.syncMethodA(this); } } } public class FitnessApp { public static void main(String[] args) { Competition comp1 = new Competition(); Competition comp2 = new Competition(); Thread t1 = new Thread(() -> comp1.syncMethodA(comp2)); Thread t2 = new Thread(() -> comp2.syncMethodB(comp1)); t1.start(); t2.start(); } }
Qual foi o RPS no pico? Quantos foram registados?
É possível adicionar qualquer objeto como chave em um HashMap?
Como implementar o rate limiting para uma API externa com restrição de RPS? Em que os fluxos virtuais/corrotinas diferem dos threads do sistema?
Forneça um exemplo de melhoria técnica num projeto além das tarefas comerciais.
Qual é a diferença entre Kafka e RabbitMQ?