최고 22 Java 디자인 패턴 인터뷰 질문 (2025)
현재 위치 Java 꿈의 직업을 얻기 위한 경험이 풍부한 신입 지원자를 위한 디자인 패턴 인터뷰 질문과 답변입니다.
신입생을 위한 디자인 패턴 인터뷰 질문 및 답변
1) 무엇인지 설명해보세요. Java 디자인 패턴?
디자인 패턴은 일반적인 객체 지향 디자인 문제를 해결하기 위한 언어 독립적인 전략입니다. 주어진 요구 사항을 충족하기 위해 클래스를 구성하는 방법을 설명합니다.
2) 창작디자인 패턴과 팩토리 패턴이 무엇인지 설명해주세요.
창조적인 디자인 패턴: 이 패턴은 클래스 인스턴스화 시 객체가 생성되는 방법을 정의하고 설명하는 데 사용됩니다.
공장 패턴: 팩토리 패턴은 생성 로직을 클라이언트에 노출하지 않고 객체를 생성하고, 공통 인터페이스를 사용하여 새로 생성된 객체를 참조하는 데 사용됩니다.
👉 무료 PDF 다운로드: Java 디자인 패턴 인터뷰 질문 및 답변
3) 컬렉션 개체의 요소에 순차적으로 액세스하는 방법을 얻기 위해 어떤 디자인 패턴이 사용됩니까?
반복자 패턴은 컬렉션 개체의 요소에 순차적으로 액세스하는 방법을 얻는 데 사용됩니다.
4) 서비스 로케이터 패턴은 언제 사용되나요?
JNDI를 사용하여 다양한 서비스를 찾으려면 서비스 로케이터 패턴을 사용합니다.
5) 싱글톤 패턴을 만들 수 있는 방법은 몇 가지가 있나요?
단일 객체를 생성하려면 두 가지 유명한 방법이 있습니다.
- 게으른로드
- 즉시 로딩
6) 구현에서 추상화를 분리해야 할 때 어떤 패턴이 사용되는지 언급하세요.
두 가지가 독립적으로 달라질 수 있도록 구현에서 추상화를 분리하려는 경우 브리지 패턴을 사용합니다.
7) 기존 개체에 새로운 기능을 추가하는 데 어떤 디자인 패턴이 도움이 될지 언급합니까?
데코레이터 패턴을 사용하면 사용자는 구조를 변경하지 않고도 기존 객체에 새로운 기능을 추가할 수 있습니다.
8) Singleton 클래스를 어떻게 생성할 수 있는지 설명하세요. Java?
XNUMX단계 과정인데,
- 먼저 생성자를 private로 만들어서 new 연산자를 사용하여 클래스를 인스턴스화할 수 없도록 합니다.
- null이 아니면 객체의 객체를 반환하고, null이 아니면 객체를 생성하여 메서드를 통해 반환합니다.
9) 스레드로부터 안전한 싱글톤을 작성할 수 있습니까? Java?
스레드로부터 안전한 싱글톤을 작성하려면 Java 예를 들어, 클래스 로딩 중에 초기화된 정적 싱글톤 인스턴스를 사용하거나, 이중 확인 잠금을 사용하여 싱글톤을 작성하는 등 여러 가지 방법이 있습니다. Java Enum은 스레드로부터 안전한 싱글톤을 생성하는 가장 간단한 방법입니다.
10) 디자인 패턴을 어떻게 설명해야 하는지 언급해 주세요.
디자인 패턴을 설명하려면 다음 사항을 고려해야 합니다.
- 패턴 이름 및 분류
- 문제 및 솔루션
- 결과: 변형 및 언어에 따른 대안도 해결되어야 합니다.
- 용도 파악: 실제 시스템의 용도와 효율성을 식별합니다.
11) 다음의 정적 메서드에서 비정적 변수에 대한 액세스가 허용되지 않는 이유를 언급하세요. Java?
비정적 변수는 개체의 특정 인스턴스와 연결되어 있지만 정적 변수는 어떤 인스턴스와도 연결되어 있지 않기 때문에 정적 컨텍스트에서 비정적 데이터에 액세스할 수 없습니다.
12) 클라이언트에서 서버로 한 번에 여러 속성이 포함된 데이터를 전달해야 할 때 어떤 패턴이 유용한지 언급해 주세요.
Transfer Object Pattern은 클라이언트에서 서버로 한 번에 여러 속성을 가진 데이터를 전달해야 할 때 유용합니다.
13) DAO 패턴의 일부 엔터티를 나열합니까?
DAO의 일부 엔터티는 다음과 같습니다.
- 데이터 액세스 객체 구체적 클래스
- 데이터 액세스 개체 인터페이스
- 모델 객체 또는 값 객체
14) 가로채기 패턴을 언제 사용할 수 있는지 언급해 주세요.
가로채기 패턴은 애플리케이션의 요청이나 응답에 대해 전처리나 후처리를 해야 할 때 사용됩니다.
15) 언제 팩토리 패턴을 사용해야 하는지 언급해 주세요.
팩토리 패턴을 사용할 수 있으며,
- 클래스가 어떤 클래스의 객체를 생성해야 하는지 알 수 없는 경우
- 클래스가 생성할 객체를 지정하기 위해 하위 클래스를 지정하는 경우
- 프로그래밍 언어에서는 주어진 데이터에 따라 하위 클래스 중 하나의 객체를 생성해야 하는 팩토리 패턴을 사용할 수 있습니다.
경험자를 위한 디자인 패턴 인터뷰 질문 및 답변
16) 싱글톤 패턴에서 getinstance() 메서드 전체를 동기화하는 것이 더 나은지, 아니면 크리티컬 섹션만 충분한지 설명하세요. 어느 쪽이 더 바람직한가요?
Sync전체의 동시화 getinstance()
이 방법은 비용이 많이 들고 싱글톤 인스턴스에서 초기화하는 동안만 필요하며, 싱글톤의 다른 인스턴스를 만드는 것을 중단합니다. 따라서 전체 메서드가 아닌 임계 섹션만 동기화하는 것이 좋습니다.
17) 싱글톤 클래스를 얼마나 많은 방법으로 작성할 수 있는지 언급하세요. Java?
싱글턴 클래스를 작성할 수 있습니다. Java 네 가지 방법으로
- 클래스 로딩 중에 초기화된 public static final 필드가 있는 싱글톤
- 싱글톤 홀더 패턴이라고도 하는 정적 중첩 클래스에 의해 생성된 싱글톤
- get instance() 메서드를 동기화하여 싱글톤 생성
- ~ Java Enum을 사용하는 5개 이후
18) clone() 메서드를 사용하여 또 다른 싱글톤 인스턴스가 생성되는 것을 방지할 수 있는 방법을 설명하세요.
싱글톤의 다른 인스턴스 생성을 방지하는 가장 좋은 방법은 Cloneable 인터페이스를 구현하지 않고 clone() 메소드에서 예외를 발생시키는 경우 "싱글톤 클래스의 복제본을 생성하지 않는 것"입니다.
19) "던지다"와 "던지다"의 차이점이 무엇인지 언급하세요.
키워드 "Throw"는 명시적으로 예외를 발생시키는 데 사용되는 반면, "Throws"는 예외가 처리되고 있음을 컴파일러에 다시 알리기 위해 확인된 예외를 처리하는 데 사용됩니다. throw는 메서드 정의에서 사용되어야 하며 확인된 예외를 발생시키는 메서드를 호출하는 동안에도 사용해야 합니다.
20) JDK의 어떤 클래스가 싱글톤 패턴을 사용하는지 언급해 주세요.
Java.lang.Runtime
클래스는 JDK에서 싱글톤 패턴을 사용합니다.
21) 싱글톤 패턴 사용의 한계는 무엇인지 언급해 주세요.
싱글톤 패턴은 클래스에 인스턴스가 하나만 있고 이에 대한 전역 액세스 지점을 제공하도록 보장합니다. 그러나 동시에 애플리케이션의 대부분의 클래스는 여러 인스턴스를 생성해야 하므로 이는 제한 사항이 됩니다.
22) VO와 JDO의 차이점이 무엇인지 언급해 주세요.
JDO와 VO의 차이점은 JDO가 엔터프라이즈 애플리케이션 개발에서 엔터티 빈과 경쟁하는 지속적인 기술이라는 것입니다. 이를 통해 POJO(Plain Old Java Object)를 생성하고 이를 데이터베이스에 유지할 수 있습니다.
VO는 값 객체를 의미하지만 엔터프라이즈 앱에서 일반적으로 발견되는 격리 및 트랜잭션 문제를 극복하기 위해 엔터티 빈, jdbc 및 심지어 JDO와 함께 사용되는 추상 디자인 패턴을 나타냅니다.
이 인터뷰 질문은 당신의 비바(구술)에도 도움이 될 것입니다.