JavaRush /Java Blog /Random-IT /Problemi di logica durante un colloquio
Юрий Кузнецов
Livello 35
Москва

Problemi di logica durante un colloquio

Pubblicato nel gruppo Random-IT
Devi analizzare 5 problemi di logica più 4 problemi Java da me. I problemi riscontrati durante le interviste e le relative soluzioni sono disponibili su Internet. Ti darò l'elenco principale di quelli che ho incontrato durante le interviste. Problemi di logica durante un colloquio - 1
  1. Quattro persone con i cappelli

  2. Problema su un ponte e una torcia elettrica

  3. Su 9 monete una è falsa: è più leggera. Come trovarlo in due pesate sulla bilancia?

  4. Quasi uguale al problema precedente, solo che le scale possono essere qualsiasi. Problema "5 vasetti di pillole" .

  5. "Treno infinito"

Per rispondere alle domande poste durante le interviste:

  1. Scrivi diversi modi per implementare un singleton in Java.

  2. Cosa accadrà in questo codice?

    Problemi di logica durante un colloquio - 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. Problema da parte mia, perché non ricordo quale esempio ci fosse

    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. Quale sarà il risultato dell'esecuzione del programma? E quale risultato otterremo se rimuoviamo il commento dalle ultime due righe?

    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();
        }
    }
    Problemi di logica al colloquio - 3
PS: le risposte ai problemi di logica si possono trovare tutte su Internet. Per chi fosse interessato, allego un post precedente sulle interviste agli sviluppatori Java
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION