JavaRush /Blog Java /Random-FR /Problèmes de logique lors d'un entretien
Юрий Кузнецов
Niveau 35
Москва

Problèmes de logique lors d'un entretien

Publié dans le groupe Random-FR
Vous devez analyser 5 problèmes logiques plus 4 problèmes Java de ma part. Les problèmes rencontrés lors des entretiens et leurs solutions sont disponibles sur Internet. Je vais vous donner la liste principale de ceux que j’ai rencontrés lors des entretiens. Problèmes de logique lors d'un entretien - 1
  1. Quatre personnes en chapeaux

  2. Problème avec un pont et une lampe de poche

  3. Sur 9 pièces, une est contrefaite : elle est plus légère. Comment le retrouver en deux pesées sur la balance ?

  4. Presque le même que le problème précédent, seules les échelles peuvent être quelconques. Problème "5 pots de pilules" .

  5. "Train sans fin"

Pour répondre aux questions posées lors des entretiens :

  1. Écrivez plusieurs façons d'implémenter un singleton en Java.

  2. Que va-t-il se passer dans ce code ?

    Problèmes de logique lors d'un entretien - 2
    class MyExc1 extends Exception{}
    class MyExc2 extends Exception{}
    class MyExc3 extends Exception{}
    
    public class Test {
        public static void main(String[] args) throws Exception {
            try {
                System.out.print(1);
                p();
            }catch (MyExc2 e){
            }
            finally {
                throw new MyExc3();
                System.out.print(2);
            }
        }
        public static void p() throws Exception {
            try {
                throw new MyExc1();
                 } catch (MyExc1 myExc1) {
                throw new MyExc2();
            }finally {
                System.out.println(3);
            }
        }
    }
  3. Problème de ma part, car je ne me souviens plus de quel exemple il y avait

    public class Test {
        public static void main(String[] args)  {
            String s = "Hello";
            String s1 = "Hello";
            String s2 = new String("Hello");
    
            System.out.println(s == s1);
            System.out.println(s1 == s2);
    
            Integer i = 111;
            Integer i1 = 111;
            Integer i2 = new Integer(111);
            Integer i3 = new Integer(111);
    
            Integer i4 = -129;
            Integer i5 = -129;
            Integer i6 = new Integer(-129);
    
            System.out.println(i == i1);
            System.out.println(i1 == i2);
            System.out.println(i2 == i3);
    
            System.out.println(i4 == i5);
            System.out.println(i5 == i6);
    
            System.out.println(i6 == -129);
        }
    }
  4. Quel sera le résultat de l’exécution du programme ? Et quel résultat obtiendrons-nous si nous décommentons les deux dernières lignes ?

    class Test{
        private int id;
        private Integer id2;
    
        public Test(int id, Integer id2) {
            System.out.println("Создаем екзепляр Test");
            this.id = id;
            this.id2 = id2;
        }
    
        public Integer doIt(){
            return id + id2;
        }
    }
    class Test1{
        private Test test;
        private static int i;
    
        public Test1() {
            System.out.println("Создаем екзепляр Test1");
            this.test = new Test(i, 10);
        }
        public Test getTest() {
            return test;
        }
    }
    
    class Main {
        public static void main(String[] args)  {
            Test1 test1 = new Test1();
            System.out.println(test1.getTest().doIt());
           // Test test = new Test(null, 1);
           // test.doIt();
        }
    }
    Problèmes de logique lors d'un entretien - 3
PS : Les réponses aux problèmes de logique peuvent toutes être trouvées sur Internet. Pour ceux que cela intéresse, je joins un article précédent sur les entretiens avec les développeurs Java.
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION