Search
🙇🏻

JAVA 중요 질문 정리

JAVA

객체지향 프로그래밍

객체지향 프로그래밍과 절차지향 프로그래밍을 비교 설명하시오
객체지향(Object-Oriented)이란 무엇인지 설명하시오
OOP의 4가지 특징을 설명하시오
OOP의 5대 원칙 (SOLID)에 대해 설명하시오

자바 플랫폼

JVM 구조에 대해서 설명하시오
JVM의 역할에 대해 설명해주세요
Java SE와 Java EE 애플리케이션 차이
Java의 컴파일 과정에 대해 설명해주세요.
자바에서 바이트코드란?
JDK와 JVM의 차이점은 무엇입니까?

클래스

클래스 - 객체 - 인스턴스를 각각 비교 설명하시오
오버로딩(Overloading)과 오버라이딩(Overriding)를 비교 설명하시오
인터페이스(Interface)와 추상 클래스(Abstract Class) 를 비교 설명하시오
Wrapper class란 무엇인가
모든 클래스의 기본 클래스는 무엇입니까?
Inner Class(내부 클래스)의 장점에 대해 설명해주세요
Java에서 this()와 super()의 차이점은 무엇입니까?
Mutable 객체와 Immutable 객체의 차이점에 대해 설명해주세요.

자바언어 특징

java 언어의 장단점
java의 접근 제어자의 종류와 특징
java의 데이터 타입
java와 c/c++의 차이점
java의 가비지 컬렉션(Garbage Collection)의 작동 원리를 설명하시오’
String - StringBuilder - StringBuffer를 각각 비교 설명하시오
java의 final 키워드 (final/finally/finalize)
java의 가비지 컬렉션(Garbage Collection) 처리 방법
GC(가비지 콜렉터)에 대해 설명하세요.
java의 non-static 멤버와 static 멤버의 차이
java의 final 키워드 (final/finally/finalize)
java의 제네릭(Generic)과 c++의 템플릿(Template)의 차이
java 직렬화(Serialization)와 역직렬화(Deserialization)란 무엇인가
Call by Reference와 Call by Value의 차이
java에서 '=='와 'equals()'의 차이
java의 리플렉션(Reflection) 이란
Stream이란?
Lambda란?
자바의 메모리 영역에 대해 설명해주세요.
각 메모리 영역이 할당되는 시점은 언제인가요?
new String()과 리터럴("")의 차이에 대해 설명해주세요.
Spring equals() 와 '==' 차이

자바언어 스레드

Java는 멀티 스레드(Multi Thread) 환경인데 멀티스레드란 무엇인가?
동기화와 비동기화의 차이(Syncronous vs Asyncronous)
자바에서 쓰레드란?
스레드를 지원하는 Java API를 나열합니다.
얼마나 많은 방법으로 Java에서 스레드를 만들 수 있습니까?
Runnable 클래스를 구현하여 스레드를 생성하는 방법을 설명합니다.
Thread 클래스를 확장하여 스레드를 생성하는 방법을 설명합니다.
스레드를 생성하는 가장 좋은 방법은 무엇입니까?
Java에서 스레드 스케줄러의 중요성을 설명하십시오.
Java에서 죽은 스레드를 다시 시작할 수 있습니까?
Java에서 이미 시작된 스레드를 다시 시작할 수 있습니까?
Java에서 잠금 또는 잠금 목적은 무엇입니까?
얼마나 많은 방법으로 Java에서 동기화를 수행할 수 있습니까?
동기화 방법이란 무엇입니까?
Java에서 동기화된 메서드는 언제 사용합니까?
Java에서 동기화된 블록이란 무엇입니까?
Java에서 정적 메소드를 동기화할 수 있습니까?
프리미티브에 동기화된 블록을 사용할 수 있습니까?

자바언어 예외/에러

Error와 Exception의 차이를 설명해주세요
checkedException과 UnCheckedException의 차이를 설명해주세요
Java의 기본 예외 처리 메커니즘을 설명합니다.

자바언어 컬렉션

Java Collections Framework
java Map 인터페이스 구현체의 종류
java Set 인터페이스 구현체의 종류
java List 인터페이스 구현체의 종류
배열과 ArrayList의 차이점은 무엇입니까?
배열과 벡터의 차이점은 무엇입니까?
ArrayList와 Vector의 차이점은 무엇입니까?
ArrayList와 LinkedList의 차이
Vector vs ArrayList
Junit4와 5의 차이를 설명하시오.

자바언어 웹

servlet과 JSP 차이점은 무엇인가요?

spring

spring framework

간단한 스프링 설명
스프링 DI에 대해 아는대로 말씀해주세요
IOC가 무엇인가요?
Spring Framework와 Spring Boot의 차이점을 설명해주세요
스프링 filter와 interceptor의 차이는 무엇인가요
프레임워크와 라이브러리의 차이는 무엇인가요?
POJO란 무엇인가?
Spring에서 CORS 에러를 해결하기 위한 방법을 설명해주세요.

spring bean

Bean이란?
Spring Bean Life Cycle에 대한 설명
Spring Bean scope에 대해서 설명해주세요
spring의 component scan은 무엇인가요?
스프링에서 빈(Bean)을 등록하는 방법에 대해 말해보세요
Spring의 스코프 프로토 타입 빈에 대해 설명해주세요.
스프링 빈은 스레드 안전한가요?

spring AOP

AOP란 무엇인가요?

spring MVC

Spring MVC에 대해 설명해주세요.
spring boot와 spring MVC차이점이 무엇인가요?
Spring mvc 실행 흐름에 대해 설명해주세요
MVC1과 MVC2 패턴의 차이를 설명해 주세요.
디스패처 서블릿에 대해 설명해주세요
Spring Web MVC에서 요청 마다 Thread가 생성되어 Controller를 통해 요청을 수행할 텐데, 어떻게 1개의 Controller만 생성될 수 있을까요?

spring container

스프링 컨테이너의 생명주기는 어떻게 되나요
bean factory와 ApplicationContext 차이는 무엇인가요?

spring annotation(임시 이름)

@RequestBody, @RequestParam, @ModelAttribute의 차이를 설명해주세요.
Spring에서 Service, Controller, Repository annotation의 차이점

Spring Security

Spring Security가 어떤 것인지 간단하게 설명해주실 수 있나요
OAuth2에 대해 설명해주세요
JWT에 대해 설명해주세요

디자인 패턴

mvc 패턴의 실행 흐름에 대해 설명해주세요
싱글톤 패턴에 대해 설명해주세요
프록시 패턴에 대해서 설명해주세요

DB

JPA

영속성 컨텍스트란?
JPA 영속성 컨텍스트의 이점(5가지)을 설명해주세요.
JPA Propagation 전파단계를 설명해주세요.
JPA N + 1 문제와 발생하는 이유 그리고 해결하는 방법을 설명해주세요.
즉시 로딩과 지연 로딩의 차이
JPA와 Hibernate의 주요 차이점은 무엇입니까?
JPA에서 merge() 및 persist() 메소드의 차이점을 설명하십시오.
JPA로 동적쿼리는 어떻게 해결할 수 있나요?

JDBC

JDBC란?
JDBC와 Hibernate의 차이점은 무엇인가요?

ORM, SQL Mapping

ORM이 무엇인지 설명해 주세요
SQL Mapper 과 ORM 차이점을 설명해주세요
MyBatis란?

트랜잭션

@Transactional의 동작 원리에 대해 설명해주세요.
트랜잭션에 대해서 설명해주세요.
트랜잭션의 특징에 대해서 말해주세요. (<- ACID)
트랜잭션을 병행 처리할 때, 발생할 수 있는 문제는 무엇인가요?

기타

DAO, DTO, VO에 대해서 설명해주세요.
Entity, DTO 클래스 분리하는 이유에 대해서 설명해주세요
QueryDSL에 대해 설명해주세요
NoSQL vs RDBMS 차이점에 대해 설명해주세요
DB에서 Commit과 Rollback이란?
JOIN에 대해서 설명해주세요.
데이터베이스 인덱스의 역할과 동작 방식에 대해 설명해보세요.

네트워크

대칭키와 비대칭키 차이는 무엇인가요?
Rest API란?
web server와 was차이는 무엇인가요?
HTTP 1.1, 2방식 차이는 무엇인가요?
CDN 이란?
TCP와 UDP 차이점은 무엇인가요?
URI, URL, URN이란?
GET/POST의 차이는 무엇인가요?
CORS란 무엇인가요?
세션과 쿠키의 차이는 무엇인가요?
PUT vs PATCH 차이점을 설명해주세요
참고
issues
Interview_Questions