도전적인 Java 질문 및 답변 도전적인 Java 인터뷰 질문 이란 무엇입니까왜 사람들은 인터뷰에 가기 전에 공부를 합니까? 글쎄, 사람들이 Java 에서 어려운 질문을 받을 것이라고 예상하지 않더라도 어려운 질문을 준비하는 것은 당연합니다. 어렵고 까다로운 질문 에 대비하면자신감이 높아지고 다른 질문에 답하는 데 도움이 됩니다. 반면, 어려운 질문을 준비하지 않으면 면접이나 필기 시험에서 등장하는 것이 불쾌한 놀라움이 될 것입니다. 그러나 어려운 질문으로 간주되는 정의는보편적이지 않습니다. 동일한 질문이 어떤 프로그래머에게는 어려울 수 있고 다른 프로그래머에게는 단순할 수 있습니다. 따라서 Java 인터뷰 에 참석하기 전에 개인의 어려운 질문 목록을 더 잘 준비하십시오. 이 글에서는 당신에게 도움이 될 수 있는 10가지 어려운 질문 목록을 공유하겠습니다. 10가지 어려운 Java 인터뷰 질문 및 그에 대한 답변 이미 작성했듯이 인터뷰 중에 접할 수 있는 요령이 포함된 10가지 어려운 질문 목록은 다음과 같습니다. 이러한 질문은
Java 커널에만 관련되며 J2EE 에는 영향을 주지 않습니다. 내가 말했듯이 이러한 질문은 귀하에게 간단할 수 있으며 귀하는 이미 답을 알고 있습니다. 그럼에도 불구하고 그들은 인터뷰 중에 그들을 만나게 되었고, 나는 개인적으로 그들에게 대답하지 못한 사람들을 알고 있습니다.
wait() 및 inform() 메서드가 Thread가 아닌 Object 클래스에 선언된 이유는 무엇입니까? 한편으로는
Java 언어를 개발한 사람이 당신이 아니었는데 , 왜 이런 식으로 개발되었고 다른 방식으로는 개발되지 않았는지 어떻게 알 수 있습니까?
하지만 Java 프로그래밍 에 대한 상식과 깊은 지식을 적용하면쉽게 답을 찾을 수 있습니다. 이 게시물을 읽어보세요.
wait() 및 inform()이 Thread 가 아닌 Object 클래스 에 선언된 이유 입니다 .
Java에서 다중 상속이 지원되지 않는 이유는 무엇입니까? 이 질문의 어려움은 주로 귀하의 답변이 질문자를 만족시키지 못할 수 있다는 것입니다. 대부분의 경우 구체적인 사례가 필요한데, 나열해 보면 면접하는 사람도 기뻐할 것입니다. 다시 한 번, 이 질문에 답하기 위해
Java가 다중 상속을 지원하지 않는 이유에 대한 내 블로그 링크를 제공하겠습니다
Java가 연산자 오버로딩을 지원하지 않는 이유는 무엇입니까? 같은 카테고리의 또 다른 어려운
Java 질문입니다. C++에서는 연산자 오버로딩을 지원하는데 왜
Java 에는 지원되지 않습니까 ? 사람들은 이것과 비슷한 주장을 할 수도 있고 때로는
문자열 병합을 위해 Java 에서 + 연산자가 오버로드된다고있지만 속지 마십시오. 이 까다로운 질문에 대한 자세한 답변을 보려면
Java에서 연산자 오버로딩이 지원되지 않는 이유를 읽어보세요
Java에서 문자열을 변경할 수 없는 이유는 무엇입니까? 제가 가장 좋아하는 면접 질문은 어렵고 까다롭지만 매우 유용합니다.
Java 에서 문자열이 왜 final로 선언되는지질문을 받을 수도 있습니다.
Java의 문자열이 최종적이고 불변인 이유를 여기에서 읽어보세요.
Java에서 비밀번호를 저장하는 데 문자열보다 문자 배열이 더 나은 이유는 무엇입니까? 그리고 문자열에 대한 또 하나의 까다로운 질문이 있습니다. 제 말을 믿으세요.
이에 답할 수 있는 Java 프로그래머는 거의 없습니다. 이것은
Java 코어에 관한 정말 어려운 질문이며 대답하려면
String 클래스에 대한 완전한 지식이 필요합니다 . 읽다
답을 찾기 위해
비밀번호를 저장하는 데 문자열보다 문자 배열이 더 나은 이유는 무엇입니까 ? 이중 확인 잠금을 사용하여 Java에서 스레드로부터 안전한 싱글톤을 만드는 방법은 무엇입니까? 이 질문을 표현하는 또 다른 방법은
스레드로부터 안전한 싱글톤이 무엇인지와 이를 만드는 방법 입니다 .
Java 5 이전에는 스레드로부터 안전한 싱글톤을 생성하는 유일한 방법은 이중 잠금을 사용하는 것이었습니다. 그렇지 않으면 여러 스레드가 동시에 싱글톤에 액세스하려고 시도하면 각각 다른 인스턴스를 얻게 됩니다.
Java 5 부터
이 문제는 Enum 을 사용하여 해결되었습니다 . 하지만 당신을 인터뷰하는 사람이 고집한다면 그에게 이 코드를 써주세요.
휘발성 으로 설정하는 것을 잊지 마세요 . 자세한 내용은 여기를 참조하세요.
Java의 싱글톤에 관한 10가지 질문 교착 상태를 생성하고 수정하는 Java 프로그램을 작성하세요. 고전적이지만 그럼에도 불구하고 어려운 질문 중 하나이며, 이에 대한 답을 얻으려면 멀티스레드 애플리케이션 작성 경험이 필요합니다.
Java에서 교착 상태를 생성하거나 방지하는 방법을 읽어 보십시오
. 직렬화 가능 클래스에 직렬화 가능하지 않은 필드가 포함되어 있으면 어떻게 될까요? 어떻게 고치나요? 이러한 클래스를 직렬화하려고 시도하면
NotSerializedException이 발생하며 이를 해결하는 가장 간단한 방법은 해당 필드
임시를 선언하는 것입니다 . 자세한 내용이 필요하면
직렬화에 관한 상위 10가지 질문을 읽어보세요 .
Java의 동기화된 메소드에서 대기 및 알림이 호출되는 이유는 무엇입니까? 그리고
자바 코어에 관한 질문이 하나 더 있습니다 .
wait() 및
inform() 은 호출되는 객체에 대한 뮤텍스가 필요하기 때문에
동기화된 메서드 또는 동기화된 블록 에서 호출됩니다 . 글쎄, 여기에서 전체 답변을 읽을 수 있습니다.
왜 wait() 및 inform()을 동기화된 컨텍스트에서 호출해야 하는지에 대한 내용입니다 .
Java에서 정적 메서드를 재정의할 수 있나요? 하위 클래스에 동일한 이름을 가진 메서드를 생성하면 컴파일 오류가 발생합니까? 아니요, Java에서는 정적 메서드를 재정의할 수 없습니다 . 그러나 상위 클래스와 동일한 이름을 가진 하위 클래스에 정적 메서드를 생성하면 컴파일 오류가 발생하지 않습니다. 이를 "메소드 은닉"이라고 합니다. 여기에서 더 자세한 답변을 읽을 수 있습니다.
Java에서 정적 메서드를 재정의할 수 있습니까? 이것은 Java 에 대한 어려운 질문 목록입니다.
그리고 그들에게 대답합니다. 숙련된 프로그래머에게는 그 중 일부가 그렇게 복잡해 보이지는 않지만, 트릭이 포함되어 있어 이에 답하는 것이 초보 프로그래머에게는 그리 쉽지 않을 것입니다.
어려운 Java 관련 질문이 있으면 공유해 주세요.
원본 기사
GO TO FULL VERSION