1. 객체지향 & Java
- 객체지향 프로그래밍에 대해 절차 지향과 비교하여 설명해주세요
- 객체지향의 4대 특징에 대해 설명해주세요
- 추상 클래스와 인터페이스의 차이에 대해 설명해주세요
- Overloading과 Overriding에 대해 설명해주세요
- 자바의 기본형(Primitive)과 참조형(Reference)의 메모리 저장 방식 차이에 대해 설명해주세요
2. 자바 메모리 & JVM
- String, StringBuilder, StringBuffer의 차이점을 설명해주세요
- JVM이란 무엇인가요
- JVM 메모리 구조에서 Heap 영역과 Stack 영역의 차이를 설명하고, 각 영역에 어떤 데이터가 할당되는지 설명해주세요
3. GC & 동시성
4. Collection
- ArrayList와 LinkedList의 내부 구조 차이와, 조회 및 삽입/삭제 시의 시간복잡도 차이를 설명해주세요
- HashMap의 동작 원리를 설명해주세요
- equals()와 hashCode()를 함께 재정의해야 하는 이유를 설명해주세요