JavaRush /Java блог /Random /Логические задачи на собеседовании
Юрий Кузнецов
35 уровень
Москва

Логические задачи на собеседовании

Статья из группы Random
Вам предстоит разобрать 5 логических задач плюс 4 задачки по Java от меня. Задачи, которые встречались на собеседованиях и решения к ним есть в интернете. Приведу топ-список из тех, с которыми я столкнулся на собеседованиях. Логические задачи на собеседовании - 1
  1. Четыре человека в шляпах

  2. Задача про мост и фонарик

  3. Из 9 монет одна фальшивая: она легче. Как найти ее за два взвешивания на чашах весов?

  4. Почти то же, что и прошлая задача, только весы могут быть любыми. Задача "5 банок с таблетками".

  5. "Бесконечный поезд"

На засыпку вопросы которые задавали на собеседованиях:

  1. Напишите несколько способов реализация синглтона(одиночка) в java.

  2. Что произойдет в этом коде?

    Логические задачи на собеседовании - 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. Задачка от меня, потому что не помню, какой пример там был

    
    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. Какой будет результат выполнения программы? И какой результат получим, если раскоментировать последние две строчки?

    
    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(); 
        }
    }
    
    Логические задачи на собеседовании - 3
P.S.: Ответы на задачи по логике можно все найти в интернете. Кому интересно, прикрепляю прошлый пост про собеседования java developer
Комментарии (7)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Alesha Уровень 22
18 октября 2018
Четвёртая логическая задача не "почти такая же", а точно такая же, как и третья. Аффтар поправь ссылку.
vinsler Уровень 35 Expert
16 октября 2018
По веревкам тоже не хватает условия, веревки могут быть разной длинны, время горения одной веревки 60 мин, горение по длинне не равномерное, но в целом будет 60 мин.
vinsler Уровень 35 Expert
16 октября 2018
Про шляпы кривое условие, ))) должно быть: всем четверым задается вопрос, какого цвета у вас шляпа? И уже только на этом этапе второй может раскинуть мозгами и додуплить, что если кто-то за мной молчит, то наверно он сомневается итп, но он может и не догадаться, может не понять условие, может затормозить с решением, тогда второй тоже ошибется. )))
Stanislav Уровень 21
14 октября 2018
Не помешали бы ответы под спойлером