🚌 2024년 11월 25일~ 2024년 12월 1일까지의 주제는 자바다.
💡 공통으로 준비한 질문
1️⃣ 첫번째 접은 글은 내 말로 풀어쓴 정답
2️⃣ 두번째 접은 글은 해석 또는 공부한 내용 또는 추가적으로 궁금한 내용
1. JVM이 무엇인지 설명해주세요.
더보기
- JVM이란?
- 자바 가상 머신이란 뜻으로 시스템 메모리를 관리하면서 자바 기반 애플리케이션을 위해 이식 가능한 실행 환경을 제공한다.
- 다른 프로그램을 실행시키는 것이 목적인 프로그램이다.
- 방어적 코딩의 가장 훌륭한 예 가운데 하나이다.
- JVM은 자바 프로그램이 어느 기기, 또는 어느 운영체제 상에서도 실행될 수 있게 하는것과 프로그램 메모리를 관리하고 최적화하는 것이다.
더보기
2. Garbage Collector가 무엇인지, 어떻게 동작하는지 설명해주세요.
더보기
- 가비지 컬렉션이란?
- 자바 프로그램에서 사용되지 않는 메모리를 지속적으로 찾아내서 제거한다.
- 가비지 컬렉션의 대상은?
- 객체가 null인 경우
- 블럭 실행 종료 후, 블럭 안에서 생성된 객체
- 부모 객체가 null인 경우, 포함하는 자식 객체
- 메모리 해체 과정
- Marking : 프로세스는 마킹을 호출하고, GC가 메모리가 사용되는지 아닌지 찾아낸다.
- Normal Deletion : 참조되지 않은 객체를 제거하고, 메모리를 반환한다.
- Compacting : 퍼포먼스를 향상시키기 위해, 참조되지 않은 객체를 제거하고 또한 남은 참조되어지는 객체들을 묶는다.
3. 추상 클래스와 인터페이스에 대해 설명해주세요.
더보기
- 추상 클래스
- abstract 키워드로 선언된 클래스
- 최소 한개의 추상 메서드를 포함하는 경우 반드시 추상 클래스로 선언하여야 한다.
- 추상 메서드가 없어도 abstract로 선언한 클래스
- 구현하려면 서브 클래스에서 슈퍼 클래스의 모든 추상 메서드를 오버라이딩하여 실행 가능한 코드로 구현한다.
- 목적은 객체를 생성하기 위함이 아니며, 상속을 위한 부모 클래스로 활용하기 위한 것이다.
- 인터페이스
- 추상 메서드와 상수만을 포함하며, interface 키워드를 사용하여 선언한다.
- 인터페이스를 상속받고, 추상 메서드를 모두 구현한 클래스를 작성한다. implements 키워드를 사용하여 구현한다.
- 목적은 상속받을 서브 클래스에게 구현할 메서드들의 원형을 모두 알려주어, 클래스가 자신의 목적에 맞게 메서드를 구현하도록 하는 것, 구현 객체의 같은 동작을 보장하기 위한 목적이 있다.
- 특징은 상수 필드와 추상 메서드만으로 구성된다. 모든 메서드는 추상 메서드로서, abstract public 속성이며 생략 가능하다.
4. Error와 Exception의 차이에 대해 설명해주세요.
더보기
- Error란?
- 컴파일 시 문법적인 오류와 런타임 시 널 포인트 참조와 같은 오류로 프로세스에 심각한 문제를 야기시켜 프로세스를 종료 시킬 수 있습니다.
- 메모리 부족이나 스택오버플로우와 같이 발생하면 복구할 수 없는 심각한 오류
- Exception이란?
- 컴퓨터 시스템의 동작 도중 예기치 않았던 이상 상태가 발생하여 수행 중인 프로그램이 영향을 받는 것으로 예를 들면, 연산 도중 넘침에 의해 발생한 끼어들기 등이 이에 해당합니다.
- 예외는 발생하더라도 수습할 수 있는 비교적 덜 심각한 오류
5. Java에서의 MultiThread 프로그래밍에 대해 설명해주세요.
더보기
- 멀티스레드란?
- 하나의 프로세스 내에서 둘 이상의 스레드가 동시에 작업을 수행하는 것
- 각 스레드가 자신이 속한 프로세스의 메모리를 공유하므로, 시스템 자원의 낭비가 적습니다.
- 하나의 스레드가 작업할 때 다른 스레드가 별도의 작업을 할 수 있어 사용자와의 응답성도 좋아진다.
- 멀티 스레드 프로그램이란?
- 공유하는 자원에 대해 동기화 문제가 발생할 수 있다.
❔ 개인으로 준비한 질문
1. 직렬화에 대해 설명해주세요.
2. 캐스팅에 대해 설명해주세요.
3. Record에 대해 설명해 주세요.
4. 오버 로딩과 오버라이딩의 차이에 대해 설명해 주세요.
'개인 공부 > TIL' 카테고리의 다른 글
[ TIL - CS ] 면접을 위한 CS 공부 11편 - 스프링 - (0) | 2024.11.29 |
---|---|
[ TIL - CS ] 면접을 위한 CS 공부 10편 - 자바 - (0) | 2024.11.28 |
[ TIL - CS ] 면접을 위한 CS 공부 8편 - 네트워크 - (0) | 2024.11.22 |
[ TIL - 면접 ] 자소서 질문 대비 공부 4편 - JWT 편 - (0) | 2024.11.20 |
[ TIL - CS ] 면접을 위한 CS 공부 7편 - 네트워크 - (0) | 2024.11.18 |