>Java >java지도 시간 >자바 면접 질문

자바 면접 질문

WBOY
WBOY원래의
2024-08-30 16:28:56590검색

Java 관련 직업을 찾고 있다면 신입 지원자를 위한 Java 면접 질문을 준비해야 합니다. 인터뷰마다 다르고 업무 범위도 다르지만, Java 인터뷰에서 도약하고 성공하는 데 도움이 될 최고의 2023 Java 인터뷰 질문 및 답변을 제공할 수 있습니다.

1부 – Java 면접 질문(기본)

1부에서는 기본적인 면접 질문과 답변을 다룹니다.

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

1. Java의 문자열 버퍼와 문자열 빌더의 차이점

정답:

이것은 면접관들이 가장 좋아하는 질문 중 하나입니다. 하지만 후보자들은 종종 형편없는 대답을 했습니다.

더 나은 이해를 돕기 위해 문자열 버퍼와 문자열 빌더의 몇 가지 주목할만한 차이점은 다음과 같습니다.

2. StringBuilder는 StringBuffer 클래스의 동기화되지 않은 버전입니다. StringBuilder의 메서드

예: 모든 오버로드 버전의 추가() 메서드가 동기화되지 않습니다.

  1. StringBuilder는 동기화된 메서드와 관련된 잠금을 획득하고 해제하는 오버헤드가 없기 때문에 StringBuffer보다 빠르게 작동합니다.
  2. StringBuffer는 스레드로부터 안전한 것으로 간주되는 반면 StringBuilder는 그렇지 않습니다. 동기화가 필요한 경우에는 StringBuffer 클래스를 사용하는 것이 좋습니다. StringBuilder의 인스턴스는 여러 스레드 간에 공유되어서는 안 됩니다.
  3. StringBuffer는 이전 클래스입니다. 이는 첫 번째 릴리스부터 JDK에 통합된 반면 StringBuilder는 비교적 새로운 클래스입니다.

3. 정수 배열에서 가장 눈에 띄고 가장 작은 숫자를 찾는 Java 프로그램

정답:

이 질문에 답하기 위한 간단한 5가지 지침

  • MaximumMinimumArrayDemo.java라는 Java 소스 파일을 생성하고 코드를 복사하여 즐겨 사용하는 IDE에서 컴파일하고 실행하세요.
  • 프로그램에 전달된 int 배열의 가장 눈에 띄는 숫자와 가장 작은 숫자를 인쇄하려면 최대 및 최소(int [] 숫자)라는 메서드를 만듭니다.
  • 가장 큰 변수와 가장 작은 변수를 사용하여 배열의 최대값과 최소값을 저장합니다. 처음에는 가장 큰 값이 Integer.MIN_VALUE로 초기화되고 가장 작은 값은 Integer.MAX_VALUE로 초기화됩니다.
  • 루프의 모든 반복에서 현재 숫자를 가장 큰 숫자와 가장 작은 숫자를 비교하고 그에 따라 업데이트합니다.
  • 숫자가 가장 큰 숫자보다 더 중요한 경우 가장 작은 숫자보다 작을 수 없습니다. 즉, 첫 번째 조건이 정확한지 확인할 필요가 없습니다. 이것이 바로 첫 번째 조건이 유효하지 않은 경우에만 else 부분이 실행되는 if-else 코드 블록을 사용한 이유입니다.

Java 배열에서 가장 큰 요소를 찾는 논리는 다음과 같습니다.

자바 면접 질문

Integer.MAX_VALUE로 변수를 할당하는 대신 배열의 첫 번째 요소를 할당했습니다.

3. C++과 Java의 차이점은 무엇인가요?

정답:
C++과 Java는 구문 비교에서만 유사합니다. 차이점은 다음과 같습니다.

  • Java는 멀티스레드입니다
  • Java에는 포인터가 없습니다
  • Java에는 자동 메모리 관리(가비지 수집) 기능이 있습니다
  • Java는 플랫폼 독립적입니다
  • Java에는 주석 문서 지원 기능이 내장되어 있습니다
  • Java에는 연산자 오버로딩이 없습니다

Java는 다중 상속을 제공하지 않습니다

  • Java에는 소멸자가 없습니다

2부 – Java 인터뷰 질문(고급)

이제 고급 면접 질문을 살펴보겠습니다.

4. 추상클래스와 인터페이스의 차이점은 무엇인가요?

정답:

  • 다중 상속: 추상 클래스는 하나의 추상 클래스만 상속할 수 있습니다. 그러나 클래스는 인터페이스에서 여러 인터페이스를 구현할 수 있습니다. 이는 인터페이스가 다중 상속을 지원하는 반면 Abstract 클래스는 지원하지 않음을 증명합니다.
  • 구현: 추상 클래스는 불완전하고 완전한 멤버를 포함하므로 기본 코드를 제공할 수 있는 반면, 인터페이스는 불완전한 멤버를 포함하므로 어떤 코드도 제공할 수 없습니다.
  • 필드: 추상 클래스에서는 필드와 제약 조건을 정의할 수 있지만 인터페이스에서는 필드를 정의할 수 없습니다.
  • 속도: 추상 클래스는 인터페이스에 비해 빠르며, 후자는 해당 클래스에 대한 메서드를 찾는 데 더 많은 시간이 필요합니다.
  • 용도: 부모-자식 관계에서 공통 기능을 공유하려는 경우 추상 클래스가 등장하는 반면, 인터페이스는 다형성, 디커플링 및 표준화를 정의하고 적용하는 데 사용됩니다.

5. Java의 개인용, 보호용, 공용 및 패키지 수정자 또는 키워드의 차이점

정답:
Java의 개인 대 공개 대 보호 대 패키지

Java에는 프라이빗, 보호, 퍼블릭, 패키지 수준이라는 네 가지 액세스 한정자가 있습니다.

이러한 액세스 한정자는 적용되는 클래스, 메서드 또는 변수의 접근성을 제한하는 기능을 합니다. 아래에는 각 액세스 한정자의 기능과 서로 다른 점에 대한 설명이 나와 있습니다

Java의 개인 키워드

  • Java의 private 한정자는 Java의 멤버 필드, 메서드 또는 중첩 클래스에 적용될 수 있습니다.
  • 최상위 클래스에는 private 수식어를 사용할 수 없습니다.
  • 프라이빗 변수, 메소드, 클래스는 해당 변수가 선언된 클래스에서만 액세스할 수 있습니다.
  • Private은 Java API가 제공하는 가장 높은 형태의 Encapsulation Java API를 최대한 많이 사용해야 합니다.

기본적으로 변수를 private으로 선언하는 것이 Java에서 가장 좋은 코딩 방법입니다. 비공개 메소드는 자신이 선언된 클래스에서만 호출할 수 있습니다.

Java의 패키지 또는 기본 액세스 수준

  • 패키지는 Java에서 패키지를 선언하는 데 사용되는 키워드입니다. 패키지는 Java의 클래스가 속한 디렉토리입니다.
  • 패키지 또는 기본 액세스 수준은 private 다음으로 두 번째로 높은 제한적 액세스 수정자이며 package-private으로 선언된 모든 변수, 메서드 또는 클래스는 그것이 속한 패키지에서만 액세스할 수 있습니다.

기본 수정자의 좋은 점은 클래스 수준 액세스 수정자가 없는 경우 최상위 클래스도 패키지 전용이 될 수 있다는 것입니다.

Java의 보호 키워드

protected 변수를 선언하면 클래스를 확장하면 누구나 사용할 수 있습니다. 최상위 클래스도 보호할 수 없습니다.

Java의 공개 키워드

public은 Java 프로그래밍 언어에서 가장 덜 제한적인 액세스 수정자이며 필드, 메서드 또는 클래스를 기본적으로 public으로 선언하는 것은 나쁜 습관입니다. 일단 공개하면 내부에서 변경하기가 매우 어렵기 때문입니다. 클래스 구조는 클래스를 사용하는 모든 클라이언트에 영향을 미칩니다.

클래스나 인스턴스 변수를 만들면서 대중도 Encapsulation의 원칙을 어겼는데, 이는 전혀 좋지 않고 유지 관리에도 나쁜 영향을 미칩니다.

추천기사

'Java 면접 질문'에 대한 EDUCBA 정보가 도움이 되었기를 바랍니다. 자세한 내용은 EDUCBA 추천 글을 확인하세요.

  1. Java 개발자 인터뷰 질문
  2. Java 멀티스레딩 인터뷰 질문
  3. J2EE 면접 질문
  4. Java String 인터뷰 질문

위 내용은 자바 면접 질문의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.