Skip to content

[Java] 면접 질문 리스트

Jiyeon edited this page Oct 25, 2023 · 15 revisions

자바 면접 질문 리스트

  • C/C++과 자바의 실행 방식에 있어서 가장 큰 차이점에 대해 설명해주세요.

  • 자바 소스 파일이 컴파일되고 실행되는 과정을 간략히 설명해주세요.

  • 자바 8의 특징에 대해 3가지 이상 설명해주세요.

  • 오버라이딩과 오버로딩에 대해 각각 설명해주세요.

  • 가비지 컬렉션(Garbage Collection)에 대해 설명해주시고 장단점에 대해 간략히 말해주세요.

  • 가비지 컬렉션 과정에 대해 설명해주세요.

  • OOP의 4가지 특징에 대해 각각 설명해주세요.

  • OOP의 5가지 설계 원칙 중 의존 역전 원칙에 대해 설명해주세요. (밀접한 관련이 있는 다른 설계 원칙과 의존성 역전 시점 포함하여)

  • Child child = (Child) new Parent(); (실제 부모 객체를 자식 클래스 타입으로 캐스팅하는 경우)에서 왜 예외가 발생하는지, 그렇다면 유효한 다운 캐스팅은 무엇인지 또는 언제 다운 캐스팅을 사용하는지에 대해 설명해주세요.

  • 추상 클래스, 인터페이스의 공통점 및 차이점과 각각을 어느 상황에 사용하는 것이 좋을지에 대해 설명해주세요.

  • Call by Value와 Call by Reference의 차이점에 대해 설명해주시고, Java에서는 어떤 전달 방식을 사용하는지 말씀해주세요.

  • Primitive type에 대해 설명해주시고 Wrapper Class는 무엇인지, 왜 사용하는지에 대해서 말씀해주세요.

  • String과 String Builder의 차이점에 대해 설명해주세요.

  • String을 new()로 생성하는 것과 literal로 생성하는 것의 차이점에 대해 설명해주세요.


  • 자바 Collection Framework의 각 상위 인터페이스(List, Queue, Set, Map)의 특징에 대해 간략히 설명해주세요.

  • Stream API의 특징과 연산 종류에 대해 설명해주세요.

  • 함수형 인터페이스란 무엇인지, 이 함수형 인터페이스의 인스턴스를 생성하는 방법에는 어떤 것들이 있는지 설명해주세요.

  • Checked Exception과 Unchecked Exception의 차이점에 대해 설명해주시고 각각 해당하는 예외에는 무엇이 있는지 말씀해주세요.

  • 직렬화란 무엇인지 설명해주시고 왜 사용하는지 말씀해주세요.

  • 어노테이션을 무엇인가요? 어느 상황에 사용할 거 같나요?

  • 불변 객체란 무엇인가요? 불변 객체의 장점은 뭐일까요?