1️⃣ 기초
📌 JDK와 JRE의 차이점은 무엇입니까?
📌 ==와 equals의 차이점은 무엇입니까?
📌 두 객체가 동일한 hashCode를 가지면 Equals()가 참이어야 합니다, 그렇죠?
📌 자바에서 final의 기능은 무엇입니까?
📌 자바에서 Math.round(-1.5)는 무엇을 의미합니까?
📌 String은 기본 데이터 타입입니까?
📌 자바에서 문자열을 조작하는 클래스는 무엇이 있습니까? 각 클래스의 차이점은 뭘까요?
📌 String str ="i"와 String str = new String("i")가 동일합니까?
📌 문자열을 반전시키는 가장 좋은 방법은 무엇인가요?
📌 String 클래스의 일반적인 메서드는 무엇이 있나요?
📌 추상 클래스에서 추상 메서드는 필수적인가요?
📌 보통의 클래스와 추상 클래스의 차이는 무엇인가요?
📌 final은 추상 클래스를 수정할 때 사용할 수 있나요?
2️⃣ Container
📌 자바 컨테이너란 무엇인가요?
📌 Collection과 Collections의 차이는 무엇인가요?
📌 List, Set, Map의 차이점을 말해주세요.
📌 HashMap과 Hashtable의 차이는 무엇인가요?
📌 각각 어떤 상황에서 HashMap과 TreeMap을 선택하나요?
📌 HashMap 구현 원칙은 무엇인가요?
📌 HashSet 구현 원칙은 무엇인가요?
📌 ArrayList와 LinkedList의 차이점은 무엇인가요?
📌 Array에서 List로 전환하려면 어떻게 해야하나요?
📌 ArrayList와 Vector의 차이점을 말해주세요.
📌 Array와 ArrayList의 차이점을 말해주세요.
📌 Queue에서, poll()과 remove()의 차이는 무엇인가요?
📌 thread-safe한 컬렉션 클래스들은 무엇이 있을까요?
📌 iterator란 무엇인가요?
📌 iterator의 사용 목적은 무엇인가요? 어떤 특징이 있죠?
📌 iterator와 listIterator의 차이는 무엇인가요?
3️⃣ multi-threading
📌 병렬과 동시성의 차이점을 말해주세요.
📌 스레드와 프로세스의 차이를 말해주세요..
📌 데몬 스레드는 무엇인가요?
📌 스레드를 만드는 방법을 나열해주세요.
📌 runnable과 callable의 차이는 무엇인가요?
📌 스레드의 여러가지 상태에 대해 말해주세요.
📌 sleep()과 wait()의 차이는 무엇인가요?
📌 notify()와 notifyAll()의 차이는 무엇인가요?
📌 thread run()과 tnread start()의 차이는 무엇인가요?
📌 스레드 풀을 생성할 수 있는 여러가지 방법을 말해주세요.
📌 스레드 풀의 상태에 대해 말해주세요.
📌 스레드 풀에서 submit()과 execute()의 차이는 무엇인가요?
📌 자바 프로그램에서 멀티 스레드 작업의 안전성을 어떻게 보장할 수 있을까요?
4️⃣ reflection
📌 reflection이란 무엇인가요?
📌 자바 직렬화란 무엇인가요? 어떤 상황에서 필요한가요?
📌 동적 프록시란 무엇인가요?
📌 동적 프록시는 어떻게 사용하나요?
5️⃣ object copy
📌 복사가 사용되는 이유는 무엇인가요?
📌 객체 복사는 어떻게 할 수 있나요?
📌 깊은 복사와 얕은 복사의 차이를 말해주세요.