상위 16개 Java Architect 인터뷰 질문 및 답변

게시 됨: 2021-10-15

Java 설계자는 Java 애플리케이션을 실행하는 모든 시스템과 애플리케이션을 관리합니다. 그렇게 하려면 모든 뉘앙스와 함께 Java 프로그래밍 언어에 대한 철저한 이해가 필요합니다.

Java는 마스터하기 가장 어려운 프로그래밍 언어 중 하나이기 때문에 Java 인터뷰를 준비하는 동안 함수의 장황함과 복잡성으로 인해 막막함을 느낄 수 있습니다. upGrad에서 우리는 귀하의 어려움을 이해하고 이를 통해 귀하를 돕기 위해 여기 있습니다.

목차

Java 관련 작업의 주요 주제

Java 관련 직업이나 방대한 인터뷰를 준비하는 동안 건너뛰어서는 안 되는 몇 가지 핵심 주제가 있습니다. 이러한 문제에는 다음이 포함됩니다.

  • 자바 프로그래밍 개요.
  • Java 및 Java가 작동하는 패러다임(OOPS)에 대한 세부 정보입니다.
  • JDK, JRE, JIT, JVM – Java 컴파일러.
  • 자바의 변수와 연산자.
  • 루프 및 메서드.
  • 배열, 목록, 힙, 트리 등을 포함한 데이터 구조
  • 클래스 및 개체
  • '이것', '슈퍼' 등과 같은 중요한 키워드.
  • 추상 클래스와 인터페이스.
  • 자바의 서블릿.
  • 자바의 멀티스레딩.
  • Java의 고급 개념.

이 블로그의 모든 주제에 대해 질문하는 것은 불가능합니다. 따라서 위에서 언급한 주제를 가장 확실히 탐색하고 더 많은 통찰력을 얻는 것이 좋습니다.

Java Architect 인터뷰 질문 및 답변

다음은 위에서 언급한 대부분의 주제를 기반으로 한 상위 17개 Java 인터뷰 Architect 인터뷰 질문 목록입니다. 이것은 포괄적인 질문 목록이 아님을 기억하십시오. 이것은 예상할 수 있는 것에 대한 맛을 제공하기 위한 것입니다. Java에는 시간이 필요하므로 더 파고들어야 합니다!

1. 액세스 지정자는 무엇이며 Java에서 사용할 수 있는 액세스 지정자는 무엇입니까?

액세스 지정자는 해당 클래스의 액세스 범위를 설정하기 위해 클래스를 정의하거나 명명하기 전에 사용되는 키워드로 생각할 수 있습니다. Java는 클래스, 메서드 및 개체에 대해 다음과 같은 액세스 지정자를 지원합니다.

  • 공공의
  • 보호
  • 기본
  • 사적인

2. Java에서 내부 클래스와 하위 클래스는 어떻게 다릅니까?

내부 클래스는 다른 클래스 내부에 중첩된 클래스입니다. 따라서 내부 클래스는 외부 유형의 모든 변수와 메서드에 대한 액세스 권한을 갖습니다.

반면에 하위 클래스는 상위 클래스라고 하는 다른 클래스에서 기능을 상속하는 특수한 유형의 클래스입니다. 서브클래스는 슈퍼클래스의 모든 protected 및 public 메소드와 필드에 액세스할 수 있습니다.

3. 데이터 캡슐화의 중요성은 무엇입니까?

데이터 캡슐화는 OOP(객체 지향 프로그래밍) 패러다임의 기본 개념 중 하나이며 서로 다른 메서드와 속성을 단일 단위로 결합하는 데 사용됩니다. 캡슐화를 사용하여 프로그래머는 소프트웨어 개발을 위한 구조화된 모듈식 접근 방식을 따를 수 있습니다. 캡슐화는 데이터 은닉 목적에도 유용합니다.

4. Java에서 싱글톤 클래스란 무엇입니까?

싱글톤 클래스는 단일 인스턴스만 가질 수 있는 클래스입니다. 그렇기 때문에 모든 변수와 메서드는 하나의 인스턴스에만 속하게 됩니다. 싱글톤 클래스의 개념은 프로그래머가 클래스에서 사용 가능한 개체 수를 제한해야 하는 상황에 매우 유용합니다.

5. Java에서 double 및 float 변수는 어떻게 다릅니까?

Java에서 double은 메모리에서 8바이트를 사용하고 float는 4바이트를 사용합니다. 또한 double은 배정밀도 부동 소수점 숫자이고 float는 단정밀도입니다.

6. Java의 최종 키워드는 무엇입니까?

Java에서 프로그래머가 상수를 선언하려면 Final 키워드를 사용합니다. Final 키워드로 정의된 모든 요소는 이후 단계에서 값을 변경할 수 없습니다. 메서드가 final이면 해당 하위 클래스에 의해 재정의될 수 없습니다. 또한 Final 메서드는 컴파일 시간에 해결되므로 나머지 메서드보다 빠릅니다.

7. Java에서 난수를 생성하는 방법은 무엇입니까?

Java는 프로그래머가 난수를 생성할 수 있는 두 가지 방법을 제공합니다.

  • java.util 패키지에서 Random 클래스 사용
  • 수학 사용. random()은 0.1에서 1.0 범위의 난수를 생성합니다.

8. Java의 main() 메서드가 값을 반환할 수 있습니까?

아니요, Java의 main() 메서드는 항상 Void 데이터 유형으로 선언되므로 값을 반환할 수 없습니다.

9. 추상 클래스는 Java의 인터페이스와 어떻게 다릅니까?

인터페이스와 추상 클래스의 주요 차이점은 전자는 공용 정적 메서드 선언만 허용한다는 것입니다. 그것은 상기 방법의 구현을 보유하지 않습니다. 반면에 추상 클래스는 클래스 내에서 구현 여부에 관계없이 모든 액세스 지정자를 가질 수 있습니다. 또 다른 차이점은 인터페이스를 구현하는 클래스가 인터페이스의 모든 메서드를 구현해야 한다는 것입니다. 반면에 추상 클래스에서는 이것이 요구 사항이 아닙니다.

10. Java에서 패키지 가져오기는 자동으로 하위 패키지를 가져오나요?

아니요. 패키지를 가져오면 하위 패키지가 아닌 패키지만 가져옵니다. 프로그래머는 필요한 경우 하위 패키지를 별도로 가져와야 합니다.

11. Java에서 equals()와 ==는 어떻게 다릅니까?

equals() 메서드는 두 객체의 동등성을 확인하기 위해 Object Class에 정의되어 있습니다. 프로그래머가 필요한 경우 이 메서드를 재정의할 수 있습니다. 반면에 등호 연산자(==)는 부울 값만 반환하는 이항 연산자입니다.

12. 지역 변수와 인스턴스 변수의 차이점은 무엇입니까?

지역 변수는 생성자, 메서드 또는 블록 내에서 사용되며 특정 범위에 대해 지역적입니다. 클래스의 다른 메서드나 블록은 해당 범위에 로컬이 아닌 변수를 인식하지 못합니다.

반면에 인스턴스 변수는 해당 개체에 바인딩됩니다. 이러한 변수는 클래스 내에서 메서드 외부에서 선언을 찾습니다. 그렇게 하면 해당 클래스의 모든 메서드 또는 블록이 인스턴스 변수에 액세스할 수 있습니다.

13. Java에서 컬렉션이란 무엇입니까?

Java에서 컬렉션은 다양한 개체 그룹을 저장하고 조작하기 위한 골격 또는 아키텍처로 생각할 수 있는 프레임워크입니다. 컬렉션을 통해 프로그래머는 정렬, 검색, 조작, 삽입, 삭제 등과 같은 다양한 중요한 작업을 수행할 수 있습니다. Java의 컬렉션 프레임워크에는 다음이 포함됩니다.

  • 인터페이스
  • 클래스
  • 행동 양식

14. 세션 관리를 위한 서블릿의 다른 방법은 무엇입니까?

세션은 서버와 클라이언트 간의 통신 상태입니다. 결과적으로 하나의 세션은 여러 응답과 요청으로 구성될 수 있습니다. 웹 서버와 HTTP는 모두 stateless이기 때문에 모든 요청과 응답에서 세션 ID(또는 세션에 대한 일부 고유 식별자)가 클라이언트와 서버 간에 전달될 때만 세션이 유지됩니다. 서버 관리를 위한 몇 가지 방법은 다음과 같습니다.

  • HTML 숨겨진 필드
  • 쿠키
  • URL 재작성
  • 사용자 인증
  • 세션 관리 API

15. JDBC 문이란 무엇입니까?

JDBC 명령문은 SQL 명령을 사용하여 데이터베이스와 통신하는 데 필요한 명령문으로 이해할 수 있습니다. JDBC는 데이터베이스와 상호작용하기 위해 executeUpdate(), execute(), executeQuery()와 같은 다양한 메소드를 제공한다.

JDBC three는 다음 세 가지 유형의 문을 제공합니다.

  • 명령문: 이것을 런타임에 SQL 쿼리를 실행하고 데이터베이스에 액세스하는 일반적인 목적으로 생각하십시오.
  • PreparedStatement: 프로그래머가 실행 중에 입력 매개변수와 SQL 쿼리를 제공하고자 할 때 사용됩니다.
  • CallableStatement: 저장 프로시저에 액세스하는 데 사용됩니다. CallableStatement는 런타임 매개변수를 허용합니다.

16. Spring MVC 프레임워크에서 예외 처리는 어떻게 이루어지나요?

Spring MVC는 프로그램에서 예외 처리를 설정하는 다음 방법을 제공합니다.

  • 컨트롤러 기반: 여기에서 예외 처리기 메서드를 정의합니다. 우리가 해야 할 일은 이러한 메소드에 @ExceptionHandler 주석을 접두사로 붙이기만 하면 됩니다.
  • 전역 예외 처리기: @ControllerAdvice 주석이 이를 위해 사용됩니다. 모든 클래스를 사용하여 전역 예외 처리기를 정의할 수 있습니다.
  • HandlerExceptionResolver 구현: Spring MVC는 전역 예외 핸들러를 생성하기 위해 HandlerExceptionResolver를 제공합니다. 이 방법은 Spring 프레임워크가 예외 처리 이점을 얻기 위해 Spring bean 구성 파일에 정의할 수 있는 몇 가지 기본 클래스도 제공하기 때문입니다.

결론적으로

앞서 언급했듯이 위에 나열된 질문은 인터뷰를 푸는 데 도움이 되지 않습니다. 이들은 다양한 Java Architect 인터뷰에서 주로 묻는 몇 가지 상위 질문에 불과합니다. 그러나 그들은 면접관이 찾고 있는 전문 지식의 종류에 대한 좋은 이해를 줄 것입니다. 그러니 더 이상 고민하지 말고 준비를 시작하고 다음 면접을 에이스하세요!

시작점을 찾는 데 어려움을 겪고 있다면 소프트웨어 개발 프로그램에 귀하를 초대합니다 . 개인화된 교육, 1:1 지도, 업계 지원, 강력한 동문 지원 등을 경험하고 경력을 치솟으십시오!

Java Architect의 역할을 위해 어떤 회사를 고용합니까?

Java는 특히 데스크톱 및 웹 응용 프로그램을 만드는 데 가장 많이 사용되는 언어 중 하나입니다. 따라서 기술에 Java가 있는 모든 회사에는 종종 Java Architect가 필요합니다. Java Architects와 정기적으로 협력하는 일부 회사에는 HCL, Capgemini, Infosys, Tech Mahindra 등이 있습니다.

인터뷰 라운드에서 코딩을 해야 합니까?

코딩 전문 지식을 테스트하기 위해 별도의 라운드가 있을 가능성이 큽니다. 그러나 기술 인터뷰 중에 알고리즘이나 프로그래밍 퍼즐에 대한 질문을 받을 수 있습니다.

Java 아키텍트가 되려면 사전 경험이나 학위가 필요합니까?

설마. Java 프로그래밍 언어로 작업하는 데 익숙하고 이를 사용하여 문제를 해결하는 데 익숙하다면 이 분야를 탐색할 수 있습니다!