Java
Quelles actions initiales doivent être entreprises lors de la familiarisation avec un projet déjà développé?
Comment avez-vous mesuré la difficulté et le progrès dans l'exécution des tâches dans votre emploi précédent?
Comment peut-on calculer le temps de réponse moyen du système?
Comment les opérations atomiques avec des variables sont-elles implémentées et fonctionnent-elles dans un environnement multithread?
Quelle est la fonction principale de la JVM et pourquoi est-elle importante pour l'exécution des programmes Java?
Comment un élément est-il ajouté à HashMap en cas de collision de clés?
Quels types de projets vous intéressent le plus à réaliser et pourquoi?
Quelles sont les différences entre les approches de nettoyage de la pile en C# et Java?
L'ordre des événements dans Kafka était-il important ? Comment était-il assuré ?
Sais-tu gérer et publier du contenu sur les réseaux sociaux?
Quelle est votre expérience dans la configuration du débogage à distance des applications?
Quels outils ou approches avez-vous utilisés pour collecter et analyser les métriques dans votre dernier projet?
Comment déterminer quand une classe ou un module effectue trop de fonctions et viole le principe de responsabilité unique?
Quelle est votre expérience avec les programmes multithread et la synchronisation des threads?
Quelle est la fonction principale de l'ORM dans le développement logiciel?
Comment détermine-t-on quel index doit être créé pour optimiser le fonctionnement de la base de données?
/** * Interface pour interagir avec le matériel du distributeur automatique. */ interface Hardware { /** * Renvoie un tableau avec le nombre de billets par dénominations 50, 100, 500, 1000, 5000. * La méthode fonctionne lentement et génère du bruit. * * @return tableau où chaque élément correspond au nombre de billets d'une dénomination spécifique. * Par exemple, [10, 20, 30, 40, 50] signifie: * - 10 billets de 50 roubles * - 20 billets de 100 roubles * - 30 billets de 500 roubles * - 40 billets de 1000 roubles * - 50 billets de 5000 roubles */ int[] getBillsCounts(); /** * Charge dans la caisse les billets indiqués. * * @param billsCounts tableau avec le nombre de billets par dénominations [50, 100, 500, 1000, 5000]. * Par exemple, [0, 1, 0, 2, 0] signifie: * - 0 billets de 50 roubles * - 1 billet de 100 roubles * - 0 billets de 500 roubles * - 2 billets de 1000 roubles * - 0 billets de 5000 roubles */ void giveBills(int[] billsCounts); } /** * Classe pour implémenter la logique du distributeur automatique. * Ici, il faut écrire le code */ class MyATM { /** * Partie matérielle du distributeur. */ 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 ce qu'est une Query dans le contexte de Hibernate et comment elle est utilisée pour obtenir des données.
Quelles méthodes peuvent garantir la stabilité et le fonctionnement continu de deux Consumers abonnés à un même Topic?
Quelle est la différence entre l'utilisation d'Aerospike et Redis dans le contexte du stockage et du traitement des données?