Java
Quais ações iniciais devem ser tomadas ao se familiarizar com um projeto já desenvolvido?
Como é que mediu a dificuldade e o progresso na realização de tarefas no seu emprego anterior?
Como pode calcular o tempo médio de resposta do sistema?
Como são implementadas e funcionam as operações atômicas com variáveis em um ambiente multithread?
Qual é a função principal da JVM e por que ela é importante para a execução de programas Java?
Como é que ocorre a adição de um elemento ao HashMap quando ocorre uma colisão de chaves?
Que tipos de projetos lhe interessam mais implementar e por quê?
Quais são as diferenças nas abordagens de limpeza de pilha em C# e Java?
A ordem dos eventos no Kafka era importante? Como era garantida?
És capaz de gerir e publicar conteúdo nas redes sociais?
Qual é a sua experiência na configuração de depuração remota de aplicações?
Que ferramentas ou abordagens você utilizou para coletar e analisar métricas no seu último projeto?
Como determinar quando uma classe ou módulo realiza funções demais e viola o princípio da responsabilidade única?
Qual é a sua experiência com programas multithread e sincronização de threads?
Qual é a função principal do ORM no desenvolvimento de software?
Como é que se determina qual índice deve ser criado para otimizar o funcionamento da base de dados?
/** * Interface para interagir com o hardware do multibanco. */ interface Hardware { /** * Retorna um array com a quantidade de notas por denominações 50, 100, 500, 1000, 5000. * O método funciona lentamente e gera ruído. * * @return array onde cada elemento corresponde à quantidade de notas de uma denominação específica. * Por exemplo, [10, 20, 30, 40, 50] significa: * - 10 notas de 50 euros * - 20 notas de 100 euros * - 30 notas de 500 euros * - 40 notas de 1000 euros * - 50 notas de 5000 euros */ int[] getBillsCounts(); /** * Carrega na caixa as notas indicadas. * * @param billsCounts array com a quantidade de notas por denominações [50, 100, 500, 1000, 5000]. * Por exemplo, [0, 1, 0, 2, 0] significa: * - 0 notas de 50 euros * - 1 nota de 100 euros * - 0 notas de 500 euros * - 2 notas de 1000 euros * - 0 notas de 5000 euros */ void giveBills(int[] billsCounts); } /** * Classe para implementar a lógica do multibanco. * Aqui, deve-se escrever o código */ class MyATM { /** * Hardware do multibanco. */ Hardware hardware; public boolean withdraw(int amount) { int[] counts = hardware.getBillsCounts(); int[] nom = {50, 100, 500, 1000, 5000}; int[] toGive = new int[5]; for (int i = 4; i >= 0; i--) { int needed = amount / nom[i]; int use = Math.min(needed, counts[i]); toGive[i] = use; amount -= use * nom[i]; } if (amount != 0) { return false; } hardware.giveBills(toGive); return true; } }
Explique o que se entende por Query no contexto do Hibernate e como ela é usada para obter dados.
Quais métodos podem garantir a estabilidade e o funcionamento contínuo de dois Consumers assinados ao mesmo Topic?
Qual é a diferença entre o uso de Aerospike e Redis no contexto de armazenamento e processamento de dados?