개발자 면접에서 기본적으로 알아야할 5가지에 대해 정리해보았습니다. 자바 개발자 기술 면접 공부하는 분들에게 도움되었으면 좋겠습니다.
자바 개발자 기본 면접질문 5개 정리
1. JVM의 역할에 대해 설명해주세요.
자바 코드를 OS 종속없이 실행시켜주고 가비지 컬렉션을 통한 런타임 메모리 관리를 해줍니다.
2. Java 컴파일 과정에 대해 설명해주세요.
컴파일 타임
개발자가 생성한 자바 파일(.java)를 바이트 코드(.class)로 컴파일 합니다.
런타임
클래스 로더를 통해 JVM 메모리로 로드합니다.
실행 엔진을 통해 기계어로 해석합니다.
3. 오버라이딩(Overriding)과 오버로딩(Overloading)에 대해 설명해주세요.
오버 라이딩 : 상속관계의 두 클래스가 있을 때, 자식 클래스가 부모 클래스의 메서드를 재정의 하는 것.
오버 로딩 : 매개변수 개수나 타입을 다르게하여 같은 이름의 메서드를 여러개 정의하는 것.
4. 객체지향 프로그래밍 (OOP)에 대해 설명해주세요.
컴퓨터 프로그래밍 설계기법 중 하나 입니다.
현실 세계의 대상과 그 기능을 객체화하여 표현합니다. 모듈화, 객체화로 유지보수가 용이하며 현실 세계를 대상화했기 때문에 코드상으로도 가독성이 좋습니다.
명령을 실행하는 주체가 객체이며, 객체들이 프로그램 실행의 제어권을 넘겨 받아 명령을 실행합니다. 객체끼리 상호작용하며 프로그램이 실행되도록 프로그래밍하는 설계기법입니다.
5. new String()과 " "의 차이에 대해 설명해주세요.
저장되는 위치와 방식이 다릅니다.
new 키워드로 생성된 인스턴스의 참조변수는 Heap 메모리 영역에 저장됩니다.
" " (리터럴)로 생성된 인스턴스는 String Constant Pool에 먼저 같은 값을 가진 인스턴스가 있는지 여부를 확인합니다. 있으면 그 객체의 주소 값을 반환하고, 없으면 값을 저장합니다. (문자열 객체가 불변인 이유)
* String Constant Pool은 Heap 영역내에 있음
개인적인 용도로 정리하여 일부 내용의 경우 주관적인 의견이 포함될 수 있으니 미리 말씀드리며, 그러한 내용의 경우에는 꼭 직접 공부하고 이해하는 과정이 꼭 필요합니다.
수정이 필요한 내용이 있으면 댓글을 통해 내용 남겨주시면 확인 후 수정토록 하겠습니다. 감사합니다.
다음 자바 면접 질문 정리 6번-10번 바로가기
https://timotimo.tistory.com/41
반응형
'백엔드 기술면접 > 면접질문' 카테고리의 다른 글
[기술 면접] 자바 면접 예상질문/답변 정리 [16-20] (0) | 2022.10.02 |
---|---|
[기술 면접] 자바 면접 예상질문/답변 정리 [11-15] (0) | 2022.09.07 |
[기술 면접] 자바 면접 예상질문/답변 정리 [6-10] (0) | 2022.08.28 |
[기술면접][경력] 자바 백엔드 웹개발자 면접질문 [2] (2) | 2022.06.12 |
[기술면접][경력] 자바 백엔드 웹개발자 면접질문 [1] (0) | 2022.06.12 |
최근댓글