Java
Vamos tentar uma tarefa mais simples: como calcular quantas pessoas chamaram um serviço específico em um dia?
Como foi estruturada a cadeia de responsabilidade na equipa? Quem era responsável pelos prazos?
Qual é o principal problema desta implementação - Uso ineficiente do grupo fixo de threads - Problemas com a interação de recursos partilhados - Inclusão incorreta de bloqueio pode levar a uma situação de impasse. - Nível de sincronização incorreto - Não há verificações de todos os threads antes do resultado - Não há construtor explícito Código: import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; class RecyclingBinCounter { private int binCount; private final ReentrantLock lock = new ReentrantLock(); public void incrementBins() { lock.lock(); try { binCount++; } finally { lock.unlock(); } } public int getBinCount() { return binCount; } } class RecyclingManager { public static void main(String[] args) { RecyclingBinCounter counter = new RecyclingBinCounter(); ExecutorService service = Executors.newFixedThreadPool(3); for (int i = 0; i < 3; i++) { service.submit(() -> { for (int j = 0; j < 1000; j++) { counter.incrementBins(); } }); } service.shutdown(); while(!service.isTerminated()) {} System.out.println("Total bins collected: " + counter.getBinCount()); } }
Já ouviste falar do padrão Service Discovery?
Qual é a diferença entre criar um thread através do ExecutorService e através do new Thread?
Configurou o Kafka Consumer? Quais configurações conhece?
Quais são as estratégias de entrega de mensagens no Kafka (pelo menos uma vez, no máximo uma vez, exatamente uma vez)?
Utiliza ferramentas com IA no seu trabalho? Quais exatamente?
Já trabalhou com bases de dados não relacionais (Redis, Cassandra)?
O que é uma anotação em Java? Como você explicaria isso a outro desenvolvedor?
Tem experiência de conceção de bases de dados por conta própria?
Tinha autoescalonamento? Como foi configurado?
O que representa o Spring Boot Starter? Como funciona?
Como bloquear ou sincronizar threads em Java?
Em que área de memória é que o ConcurrentHashMap é armazenado? Que container deve ser usado para armazenar métricas?
O agendador busca registros na tabela, dois processos ao mesmo tempo pegaram o mesmo registro — como resolver o problema?
Como foram tratadas as situações em que o serviço não estava disponível?
Em que protocolo de transporte funciona o HTTP?
Fale brevemente sobre o projeto na [empresa] — o que fizeram lá?
Qual coleção escolher: ArrayList ou LinkedList e porquê?