본문 바로가기

취준생대상

자바 코딩 테스트 문제 3

반응형

문제 1

다음 Java 코드의 출력 결과는 무엇인가요?

public class Test {
    public static void main(String[] args) {
        int x = 5;
        int y = 3;
        System.out.println(x++ + ++y);
    }
}

A. 8
B. 9
C. 10
D. 11
E. 컴파일 오류

답: B

문제 2

다음 중 Java에서 유효한 식별자(identifier)가 아닌 것은?

A. $variable
B. _count
C. 123number
D. studentGrade
E. firstName

답: C

문제 3

다음 코드가 실행된 후 arr 배열의 내용은 무엇인가요?

int[] arr = {1, 2, 3, 4, 5};
for (int i = 0; i < 2; i++) {
    int temp = arr[i];
    arr[i] = arr[arr.length - i - 1];
    arr[arr.length - i - 1] = temp;
}

A. {5, 4, 3, 2, 1}
B. {5, 4, 3, 4, 5}
C. {1, 2, 3, 2, 1}
D. {5, 2, 3, 4, 1}
E. {1, 4, 3, 2, 5}

답: B

문제 4

Java에서 다음 코드의 출력 결과는?

String s1 = "Hello";
String s2 = "Hello";
String s3 = new String("Hello");

System.out.println(s1 == s2);
System.out.println(s1 == s3);
System.out.println(s1.equals(s3));

A. true false true
B. true true true
C. false false true
D. false true true
E. true false false

답: A

문제 5

Java에서 다음 예외 중 런타임 예외(unchecked exception)가 아닌 것은?

A. NullPointerException
B. ArrayIndexOutOfBoundsException
C. IOException
D. ArithmeticException
E. IllegalArgumentException

답: C

문제 6

다음 코드의 출력은 무엇인가요?

public class Test {
    public static void main(String[] args) {
        int[][] arr = new int[3][];
        arr[0] = new int[]{1, 2, 3};
        arr[1] = new int[]{4, 5};
        arr[2] = new int[]{6, 7, 8, 9};

        System.out.println(arr.length + " " + arr[1].length);
    }
}

A. 3 2
B. 3 5
C. 2 2
D. 9 2
E. 컴파일 오류

답: A

문제 7

다음 Java 코드에서 실행 결과는?

public class Student {
    private String name;
    public Student(String n) {
        name = n;
    }
    public String getName() {
        return name;
    }
    public static void main(String[] args) {
        ArrayList<Student> list = new ArrayList<>();
        list.add(new Student("Kim"));
        list.add(new Student("Lee"));
        list.add(new Student("Park"));

        list.remove(1);

        for(Student s : list) {
            System.out.print(s.getName() + " ");
        }
    }
}

A. Kim Lee Park
B. Kim Park
C. Lee Park
D. Kim Lee
E. 컴파일 오류

답: B

문제 8

다음 Java 메소드의 시간 복잡도는?

public static int mystery(int n) {
    int count = 0;
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= i*i; j++) {
            if (j % i == 0) {
                count++;
            }
        }
    }
    return count;
}

A. O(1)
B. O(log n)
C. O(n)
D. O(n²)
E. O(n³)

답: E

문제 9

다음 코드에서 올바른 결과를 반환하지 않는 것은?

public class Test {
    public static void main(String[] args) {
        int[] arr = {1, 3, 5, 7, 9};
        System.out.println(binarySearch(arr, 5));
        System.out.println(binarySearch(arr, 4));
    }

    public static int binarySearch(int[] arr, int target) {
        int left = 0;
        int right = arr.length - 1;

        while (left <= right) {
            int mid = (left + right) / 2;
            if (arr[mid] == target) {
                return mid;
            } else if (arr[mid] < target) {
                left = mid + 1;
            } else {
                right = mid - 1;
            }
        }
        return -1;
    }
}

A. 첫 번째 출력은 2
B. 두 번째 출력은 -1
C. 배열 내에 있는 값을 찾으면 해당 인덱스 반환
D. 배열 내에 없는 값을 찾으면 -1 반환
E. 오름차순으로 정렬된 배열에서만 올바르게 작동

답: A

문제 10

다음 Java 코드에서 클래스와 객체 간의 관계에 대해 잘못 설명한 것은?

class Animal {
    public void makeSound() {
        System.out.println("Some sound");
    }
}

class Dog extends Animal {
    public void makeSound() {
        System.out.println("Woof");
    }
}

class Cat extends Animal {
    public void makeSound() {
        System.out.println("Meow");
    }
}

public class Test {
    public static void main(String[] args) {
        Animal a = new Dog();
        a.makeSound();
    }
}

A. DogAnimal의 서브클래스이다
B. aAnimal 타입의 참조 변수이다
C. a.makeSound()는 "Woof"를 출력한다
D. aDog 객체를 참조한다
E. main 메소드에서 aAnimal 객체이므로 "Some sound"를 출력한다

답: E

반응형