최근 기술 면접을 보며 제대로 대답하지 못했던 개념들을 복습하고 정리합니다. 부족했던 부분들을 되돌아보고, 다시는 틀리지 않도록 정리해봅니다.
면접에서 갑작스럽게 “JDK와 JRE가 뭔가요?”라는 질문을 받았지만, 순간적으로 개념이 떠오르지 않아 제대로 답하지 못했습니다.
이번 기회에 정확히 정리합니다.
JDK (Java Development Kit)
javac, 문서화 도구 javadoc, 디버거 등 포함) JRE (Java Runtime Environment)
JVM + 실행에 필요한 라이브러리들로 구성됨 
Jar에 대해 묻는 질문에서, Zip과 전혀 다른 형식이라고 잘못 답변했습니다.
알고 보니 Jar는 Zip의 일종이었습니다.
JAR (Java ARchive)
.jar 파일은 main() 함수가 포함된 클래스 지정 필요ZIP과의 차이점
.zip과 동일한 압축 방식 사용 MANIFEST.MF)가 포함되어 있음 jar는 압축 해제 없이 바로 실행 가능 (java -jar 명령어)면접에서 ZIP은 압축 풀고 써야 한다고 말한 부분은 맞았지만, 완전한 설명은 아니었음
객체 생성 시 Heap에 어떻게 적재되는지 묻는 질문에서 new로 객체를 만들면 Heap에 들어간다고만 설명해 부족한 느낌이 들었습니다.
더 자세히 정리합니다.
클래스 로딩
.class 파일을 메서드 영역(Method Area)에 로딩 객체 메모리 할당
new 키워드로 호출 → JVM이 Heap 영역에 메모리 할당객체 초기화
참조 변수 저장
웹 서버와 WAS를 구분하지 못해 핵심 키워드인 정적/동적 페이지 처리를 빠뜨리고 설명함. 다시 정리합니다.
Web Server
WAS (Web Application Server)
핵심: 정적(HTML) vs 동적(서블릿/JSP) 처리 여부
정답은 “웹 서버”라고 답했지만, 이유 설명이 부족했음.
마지막 질문으로 나온 해시 함수에 대해서는 단답형으로 끝냈음. 짧지만 정확하게 정리합니다.
기술 면접에서 틀린 질문은 스스로를 성장시킬 기회라고 생각합니다.
이번 복습을 통해 단편적인 이해가 아닌, 핵심 키워드와 흐름을 설명할 수 있는 수준으로 끌어올리겠습니다.