JavaRush /Blog Java /Random-VI /Vấn đề logic trong cuộc phỏng vấn
Юрий Кузнецов
Mức độ
Москва

Vấn đề logic trong cuộc phỏng vấn

Xuất bản trong nhóm
Bạn phải phân tích 5 vấn đề logic cộng với 4 vấn đề Java từ tôi. Các vấn đề gặp phải trong quá trình phỏng vấn và giải pháp cho chúng đều có sẵn trên Internet. Tôi sẽ đưa ra danh sách hàng đầu về những người tôi gặp trong các cuộc phỏng vấn. Vấn đề logic khi phỏng vấn - 1
  1. Bốn người đội mũ

  2. Vấn đề về cây cầu và chiếc đèn pin

  3. Trong số 9 đồng xu, có một đồng xu giả: nó nhẹ hơn. Làm thế nào để tìm thấy nó trong hai lần cân trên cân?

  4. Gần giống như bài toán trước, chỉ có thang đo có thể là bất kỳ. Bài toán “5 lọ thuốc” .

  5. "Chuyến tàu bất tận"

Để trả lời các câu hỏi được hỏi trong quá trình phỏng vấn:

  1. Viết một số cách để triển khai một singleton trong java.

  2. Điều gì sẽ xảy ra trong mã này?

    Vấn đề logic khi phỏng vấn - 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. Vấn đề là ở tôi, vì tôi không nhớ có ví dụ nào

    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. Kết quả của việc chạy chương trình sẽ là gì? Và chúng ta sẽ nhận được kết quả gì nếu bỏ ghi chú ở hai dòng cuối?

    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();
        }
    }
    Vấn đề logic khi phỏng vấn - 3
Tái bút: Tất cả các câu trả lời cho các vấn đề logic đều có thể tìm thấy trên Internet. Đối với những người quan tâm, tôi đính kèm một bài đăng trước đó về các cuộc phỏng vấn nhà phát triển java
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION