Java 프로그래머 자리에 대한 인터뷰를 준비했거나 인증서를 얻기 위해 시험(프로그래밍에서 반드시 필요한 것은 아님)을 치른 적이 있다면 그들이 묻는 질문이 매우 구체적이라는 것을 이미 알아차렸을 것입니다. 그 중 다수는 언어의 아키텍처에 대해 생각하게 만들고 일부는 깊은 지식을 위해 설계되었습니다. 연습 없이는 느끼기 매우 어려운 퍼즐이나 우려되는 뉘앙스에 가까운 것들도 있습니다. 이 기사에서 개발자 Saraans Singh 은 이러한 Java 질문을 제공합니다. 물론 답변도 함께요. 1. try/catch 블록에 return 또는 System.exit() 문을 넣으면 어떻게 됩니까? 이것은 Java에서 매우 인기 있는 "따라잡기" 질문입니다. 비결은 많은 프로그래머가
finally
어떤 경우에도 블록이 실행될 것이라고 믿고 있다는 것입니다. return
이 질문은 블록에 명령문을 배치하거나 명령문 블록 try/catch
에서 호출하여 이 개념에 도전합니다 . 이 까다로운 질문에 대한 답은 다음과 같습니다. 명령문이 블록에 배치되면 블록이 실행되고 명령문 블록 에서 호출되면 실행되지 않습니다 . 2. Java는 다중 상속을 지원합니까? 이것은 매우 까다로운 질문입니다. 면접관들은 종종 다음과 같이 말합니다. C++에서 직접 다중 상속을 지원할 수 있다면 왜 Java에서는 지원하지 않습니까? 대답은 보이는 것보다 조금 더 복잡합니다. Java는 다중 유형 상속을 지원하기 때문입니다. Java의 인터페이스는 다른 인터페이스를 확장할 수 있기 때문입니다. 그러나 Java 언어는 구현의 다중 상속을 지원하지 않습니다. 3. 상위 클래스에서 예외가 발생한 메소드가 예외를 발생시킨 메소드로 재정의될 수 있습니까 ? 오버로드 및 재정의 개념과 관련된 또 다른 까다로운 질문입니다. 답변: 재정의된 메서드에서 부모 클래스 예외를 안전하게 발생시킬 수 있지만 유형의 확인된 예외에서는 동일한 작업을 수행할 수 없습니다 . 4. 스레드가 교착 상태 없이 리소스 에 액세스할 수 있도록 보장하는 방법은 무엇입니까 ? 멀티스레드 코드 작성에 능숙하지 않다면 이 질문은 정말 까다로울 것입니다. 교착 상태와 경쟁 조건을 처리해 본 적이 없는 숙련된 프로그래머에게도 어려울 수 있습니다. 여기서 요령은 순서에 있습니다. 즉, 리소스를 획득한 역순으로 리소스를 해제하여 교착 상태를 방지할 수 있습니다. 5. 클래스 와 Java 언어의 차이점은 무엇입니까 ?try/catch
System.exit ()
finally
return
try/catch
try/catch
System.exit ()
NullPointerException
RuntimeException
NullPointerException – RuntimeException
Exception
N
N
StringBuffer
StringBuilder
일부 개발자에게는 까다롭고 다른 개발자에게는 매우 간단하다고 간주되는 Java 언어에 대한 고전적인 질문입니다. 이 클래스는 StringBuilder
JDK 1.5에서 도입되었으며 이들 사이의 유일한 차이점은 클래스의 메서드( StringBuffer
예: length()
또는 capacity()
) 는 append()
동기화되는 반면 클래스의 해당 메서드는 동기화되지 StringBuilder
않는다는 것입니다. 이러한 근본적인 차이점으로 인해 문자열 연결 StringBuilder
은 StringBuffer
. 실제로 StringBuffer
99%의 사용 사례에서 문자열 연결이 동일한 스레드에서 수행되므로 사용하지 않는 것이 좋습니다. 6. 1.0/0.0 표현식은 무엇을 반환합니까? 예외가 발생하거나 컴파일 오류가 발생합니까? 수업에 관한 또 다른 까다로운 질문입니다 Double
. Java 개발자 는 단순한 데이터 유형 double 및 클래스를 알고 있지만 Double
부동 소수점 연산을 수행할 때 , 및 이와 관련된 산술 계산을 제어하는 규칙에 충분히 주의를 기울이지 Double.INFINITY
않습니다 . 이 질문에 대한 대답은 간단합니다. 예외가 발생하지 않고 값이 반환됩니다 . 7. 이미 존재하는 키 개체에 키 개체를 삽입하려고 하면 어떻게 됩니까 ? 이 까다로운 질문은 자주 묻는 또 다른 질문의 일부입니다. Java에서는 어떻게 작동합니까 ? Java 언어에 대한 혼란스럽고 까다로운 질문에 대한 인기 있는 주제입니다. 대답은 키를 에 다시 삽입하려고 하면 클래스가 중복 키를 허용하지 않기 때문에 이전 키를 대체한다는 것입니다. 그리고 동일한 키는 동일한 해시 코드를 의미하므로 해시 세그먼트의 동일한 위치에 있게 됩니다. Quora의 자료를 기반으로 함NaN
-0.0
ArithmeticException
Double.INFINITY
HashMap
HashMap
HashMap
HashMap
HashMap
GO TO FULL VERSION