JavaRush /Blogue Java /Random-PT /Problemas de lógica em uma entrevista
Юрий Кузнецов
Nível 35
Москва

Problemas de lógica em uma entrevista

Publicado no grupo Random-PT
Você tem que analisar 5 problemas lógicos mais 4 problemas Java meus. Os problemas encontrados durante as entrevistas e as soluções para eles estão disponíveis na Internet. Darei a lista principal daqueles que encontrei durante as entrevistas. Problemas lógicos em uma entrevista - 1
  1. Quatro pessoas de chapéu

  2. Problema sobre uma ponte e uma lanterna

  3. De cada 9 moedas, uma é falsa: é mais leve. Como encontrá-lo em duas pesagens na balança?

  4. Quase igual ao problema anterior, apenas a escala pode ser qualquer. Problema "5 potes de comprimidos" .

  5. "Trem sem fim"

Para cobrir as perguntas que foram feitas durante as entrevistas:

  1. Escreva várias maneiras de implementar um singleton em java.

  2. O que acontecerá neste código?

    Problemas lógicos em uma entrevista - 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 meu, porque não me lembro que exemplo houve

    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. Qual será o resultado da execução do programa? E que resultado obteremos se descomentarmos as duas últimas linhas?

    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();
        }
    }
    Problemas lógicos em uma entrevista - 3
PS: Todas as respostas para problemas de lógica podem ser encontradas na Internet. Para os interessados, estou anexando um post anterior sobre entrevistas com desenvolvedores java
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION