
📌 Stream은 데이터의 흐름을 다루는 API데이터를 저장하는 것이 아니라, 데이터를 읽고 처리하는 흐름을 제공한 번 사용하면 다시 사용할 수 없음 (소모성, 일회성)List, Set, Map, Array 등의 데이터 구조에서 사용 가능1\. 컬렉션(List, Se

이진 탐색 트리는 자녀노드는 최대 두개까지 가지는 특성을 가지는데 부모노드를 기준으로 왼쪽자식노드는 작은값, 오른쪽자식노드는 큰값들만 가진다.B tree 이다.이런 방식을 사용하면 자녀 노드의 최대 개수를 입맛에 맞게 결정해서 쓸 수 있다.최대 몇 개의 자녀 노드를 가

✅ 위 코드의 핵심 개념.httpBasic(http -> http.disable())HTTP Basic 인증을 비활성화 (Authorization: Basic 방식 사용 안 함).csrf(csrf -> csrf.disable())CSRF 보호를 비활성화 (REST AP

구글의 access token: 구글의 리소스에 접근할 때 사용 (구글 API, 유저 프로필 등)나의 JWT 토큰: 자체 애플리케이션의 사용자 인증과 세션을 관리하는 데 사용 (로그인 상태 유지, 권한 관리 등)💡 예시 시나리오1\. 유저가 구글 로그인을 통해 구글의
기존 정리내용을 복사해서 프롬프트에게 이하같이 요구함.이 내용속에서 커리큘럼을 순서에 맞게 만들어줘F-lab 1주차 자료에서 다룬 모든 토픽을 "선수지식 → 응용" 순서로 재배열한 학습 경로.책의 페이지 순서가 아니라 개념 의존성을 기준으로 정렬했다.각 Unit은 9-
2주차 자료의 모든 토픽을 "표면 → 깊이" 순서로 재배열한 학습 경로.1주차에서 OOP·JVM·GC·컬렉션을 개론 으로 봤다면, 2주차는 동일 주제를 JVM 내부·바이트코드·메모리 매핑 수준으로 파고든다.새로 등장하는 주제: Reflection, Iterator, 버
3주차 자료의 모든 토픽을 "기초 → 응용 → 실전" 순서로 재배열한 학습 경로.1·2주차에서 컬렉션·I/O를 개론·내부 구조 수준으로 봤다면,3주차는 전체 분류 지도 + 새 도구(제네릭/와일드카드/람다/스트림) 까지 확장한다.총 10 Phase × 43 Unit —
4주차 자료의 모든 토픽을 "기초 → 동기화 → 협력 → 추상화" 순서로 재배열한 학습 경로.1~3주차에서 단일 스레드 흐름을 봤다면, 4주차는 여러 스레드가 동시에 움직이는 세계 의 모든 것을 다룬다.면접·실무에서 가장 자주 등장하는 영역이며, 분량도 가장 많다.총
5주차 자료의 모든 토픽을 두 개의 큰 흐름으로 정리한 학습 경로.1) 동시성 마무리 (Atomic/CAS, 스레드 풀의 필요성)2) 토비의 스프링 시작 (DAO 진화 → 관심사 분리 → 디자인 패턴 → IoC/DI)자바 기초·동시성을 끝내고 Spring 프레임워크의
6주차 자료의 모든 토픽을 두 개의 큰 흐름으로 정리한 학습 경로.1) 학습 도구와 환경 — JUnit 테스트, 웹 인프라(서버/WAS/JAR/WAR)2) DB 접근의 진화 — JDBC → Connection Pool → DataSource → 트랜잭션 → JdbcTe
7주차 자료의 모든 토픽을 두 개의 큰 흐름으로 정리한 학습 경로.1) 데이터 모델링과 ORM — SQL JOIN → ORM 패러다임 → JPA 입문 → 엔티티 매핑2) 트랜잭션 추상화의 진화 — 수동 관리 → PlatformTransactionManager → @Tr
8-9주차 자료의 모든 토픽을 두 주에 걸쳐 정리한 학습 경로.1) 8주차 — 프록시의 진화 (AOP가 필요한 이유, 디자인 패턴, 동적 프록시, ProxyFactory)2) 9주차 — Spring AOP 실전 (자동 프록시, @Aspect, AOP 용어, @Trans
10주차 자료의 모든 토픽을 "정리 → 새 주제" 흐름으로 재배열한 학습 경로.7~9주차에서 다룬 트랜잭션·AOP를 정리하면서, 빈 초기화 함정 과 트랜잭션 격리 수준이라는 두 가지 새 토픽을 추가한다.분량은 8-9주차보다 가볍지만, 면접·실무 직결 함정 두 개가 핵심
11-12주차 자료의 모든 토픽을 두 주에 걸쳐 정리한 학습 경로.1) 11주차 — JPA의 정체와 영속성 컨텍스트 (싱글톤 → SQL Mapper → ORM → 엔티티 매핑 → 영속성 컨텍스트)2) 12주차 — 연관관계와 성능 최적화 (4가지 연관관계 → 프록시 →
13주차 자료의 모든 토픽을 "DB 이론 → SQL 성능"의 두 축으로 재배열한 학습 경로.12주차까지 Java/Spring/JPA를 다뤘다면, 13주차는 데이터베이스의 펀더멘털로 방향 전환.1) Part A — DB 이론과 관리 (모델링, 정규화, NoSQL, 분산
14주차 자료의 모든 토픽을 "데이터 타입 → HA/확장 → SQL 고급" 흐름으로 재배열한 학습 경로.13주차가 DB 이론과 인덱스 였다면, 14주차는 DB 운영 측면 으로 확장.데이터 타입과 인코딩 (CHAR/VARCHAR, BLOB/TEXT, Collation)고
F-lab 1~14주차 이후 Claude가 임의로 구성한 학습 경로.F-lab에서 다루지 않은 가장 큰 공백 영역인 Spring MVC의 내부 메커니즘 을 정복하고, 8-9주차 AOP와의 관계를 명확히 정리한다.DispatcherServlet 동작 원리 (9단계 요청
15주차(Spring MVC) 이후 Claude가 임의로 구성한 학습 경로.이제 단일 애플리케이션을 넘어 분산 시스템 영역으로 진입한다.Part A (16주차): 분산 시스템 이론 심화 + Redis와 캐싱Part B (17주차): Kafka와 메시징 + MSA 아키텍
17주차(분산 시스템) 이후 Claude가 임의로 구성한 학습 경로.면접 거의 100% 출제 영역인 Spring Security와 인증/인가를 정복한다.Filter Chain 메커니즘 (15주차 Filter의 진짜 활용)인증(Authentication) vs 인가(Au
18주차(Spring Security) 이후 Claude가 임의로 구성한 학습 경로.시니어 면접 단골이지만 4년차 개발자가 가장 약한 영역인 테스트 를 정복한다.JUnit5 깊이 (6주차 입문의 본격 확장)Mockito 본격 (단위 테스트의 실전)Spring 테스트 슬
19주차(테스트 심화) 이후 Claude가 임의로 구성한 학습 여정의 최종 주차.1~19주차의 모든 코드가 사용자에게 전달되고 운영되는 영역 을 정복한다.HTTP/네트워크 깊이 — 백엔드의 토대컨테이너와 Kubernetes — 현대 배포의 표준CI/CD — 코드를 사용
F-lab Java 1주차 / Phase 1 / Unit 1.1 본격 학습 자료9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: 없음 (학습 여정의 출발점)다음 Unit: 1.2 — 클래스와 객체의 본질자동차 공장을 상상해보자. 한쪽 끝에 부품 창고가 있고,
F-lab Java 1주차 / Phase 2 / Unit 2.1 본격 학습 자료9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: Unit 1.2 (클래스와 객체의 본질)다음 Unit: 2.2 — 가변인자 (Varargs)전자레인지를 떠올려보세요. 전자레인지에
F-lab Java 1주차 / Phase 2 / Unit 2.2 본격 학습 자료9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: Unit 2.1 (메서드의 구조)다음 Unit: 2.3 — 상속과 생성자 체이닝마트 계산대에서 결제할 때를 생각해보세요. 손님마다
F-lab Java 1주차 / Phase 2 / Unit 2.3 본격 학습 자료9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: Unit 2.1 (메서드의 구조)다음 Unit: 2.4 — 다형성 (★ OOP의 정점)이 Unit의 의미: 다형성으로 가는 결정적
F-lab Java 1주차 / Phase 2 / Unit 2.4 본격 학습 자료9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: Unit 2.3 (상속과 생성자 체이닝)다음 Unit: 2.5 — instanceof와 형변환이 Unit의 의미: OOP 4대 원
F-lab Java 1주차 / Phase 2 / Unit 2.5 본격 학습 자료9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: Unit 2.4 (다형성)다음 Unit: 2.6 — Nested/Inner/Anonymous 클래스이 Unit의 의미: 다형성의
🎯 Unit 2.6 — Nested / Inner / Anonymous 클래스 > F-lab Java 1주차 / Phase 2 / Unit 2.6 본격 학습 자료 > 9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다. > > 선수 지식: Unit 2.4 (다형성) >
F-lab Java 1주차 / Phase 3 / Unit 3.1 본격 학습 자료9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: Phase 2 (다형성, 클래스 설계)다음 Unit: 3.2 — OCP (개방-폐쇄 원칙)이 Unit의 의미: SOLID의 첫 글
F-lab Java 1주차 / Phase 3 / Unit 3.1 본격 학습 자료9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: Phase 2 (다형성, 클래스 설계)다음 Unit: 3.2 — OCP (개방-폐쇄 원칙)이 Unit의 의미: SOLID의 첫 글
F-lab Java 1주차 / Phase 3 / Unit 3.2 본격 학습 자료9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: Unit 2.4 (다형성), Unit 3.1 (SRP)다음 Unit: 3.3 — LSP (리스코프 치환 원칙)이 Unit의 의미:
F-lab Java 1주차 / Phase 3 / Unit 3.3 본격 학습 자료9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: Unit 2.3 (상속), Unit 2.4 (다형성), Unit 3.2 (OCP)다음 Unit: 3.4 — ISP (인터페이스 분
F-lab Java 1주차 / Phase 3 / Unit 3.4 본격 학습 자료9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: Unit 3.3 (LSP), Unit 2.4 (다형성)다음 Unit: 3.5 — DIP (의존 역전 원칙) — SOLID의 마지막
F-lab Java 1주차 / Phase 3 / Unit 3.5 본격 학습 자료 — Phase 3 마지막!9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: Unit 3.4 (ISP), Unit 2.4 (다형성)다음 Phase: Phase 4 — JVM 메모리
F-lab Java 1주차 / Phase 4 / Unit 4.1 본격 학습 자료9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: Phase 1, 2 (OOP, 클래스/객체)다음 Unit: 4.2 — Pass by Value (자바의 진실)이 Unit의 의미:
F-lab Java 1주차 / Phase 4 / Unit 4.2 본격 학습 자료9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: Unit 4.1 (JVM 런타임 데이터 영역)다음 Phase: Phase 5 — GC 깊이 파기이 Unit의 의미: 자바 면접의
F-lab Java 1주차 / Phase 5 / Unit 5.1 본격 학습 자료9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: Unit 4.1 (JVM 런타임 데이터 영역)다음 Unit: 5.2 — Heap의 세대 구조이 Unit의 의미: Phase 5 의

F-lab Java 1주차 / Phase 5 / Unit 5.2 본격 학습 자료9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: Unit 5.1 (GC의 기본 개념과 약한 세대 가설)다음 Unit: 5.3 — GC 알고리즘 4가지이 Unit의 의미: 약한 세
F-lab Java 1주차 / Phase 5 / Unit 5.3 본격 학습 자료9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: Unit 5.2 (Heap의 세대 구조)다음 Unit: 5.4 — GC 종류와 선택 기준이 Unit의 의미: GC 의 4가지 핵심
F-lab Java 1주차 / Phase 5 / Unit 5.4 본격 학습 자료 — Phase 5 마무리!9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: Unit 5.3 (GC 알고리즘 4가지)다음 Phase: Phase 6 — 데이터 다루기 (문자열·컬렉
F-lab Java 1주차 / Phase 6 / Unit 6.1 본격 학습 자료 — Phase 6 시작!9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: Phase 4 (JVM 메모리), Phase 5 (GC)다음 Unit: 6.2 — StringBuilde
F-lab Java 1주차 / Phase 6 / Unit 6.2 본격 학습 자료9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: Unit 6.1 (String 과 Constant Pool)다음 Unit: 6.3 — ArrayList vs LinkedList이
F-lab Java 1주차 / Phase 6 / Unit 6.3 본격 학습 자료9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: Phase 4-5 (메모리, GC), Unit 6.1-6.2 (String, StringBuilder)다음 Unit: 6.4 —
F-lab Java 1주차 / Phase 6 / Unit 6.4 본격 학습 자료 — Phase 6 의 정점!9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: Phase 4-5 (메모리, GC), Unit 6.1-6.3 (String, 컬렉션 기초)다음 Uni
F-lab Java 1주차 / Phase 6 / Unit 6.5 본격 학습 자료 — Phase 6 마무리!9-섹션 마스터 프롬프트 형식으로 깊이 파헤친다.선수 지식: Phase 4-5, Unit 6.1-6.4 (특히 HashMap, ArrayList/LinkedList
F-LAB JAVA · 1주차 · Phase 7 · 예외 처리와 자원 관리이 Unit을 끝내면 다음을 답할 수 있어야 한다.try-finally의 4가지 구조적 문제는?AutoCloseable 인터페이스는 왜 필요했나?컴파일러는 try-with-resources를 어떻
F-LAB JAVA · 1주차 · Phase 7 · 예외 처리와 자원 관리이 Unit을 끝내면 다음을 답할 수 있어야 한다.java.io.File의 6가지 구조적 한계는?Path · Paths · Files 셋의 역할 차이는?resolve, resolveSibling,
F-LAB JAVA · 1주차 · Phase 7 · 외부 세계와의 통신이 Unit을 끝내면 다음을 답할 수 있어야 한다.전통 Stream IO의 3가지 한계는?Channel과 Stream의 결정적 차이는?Buffer의 4가지 상태 변수(capacity, limit, p
F-LAB JAVA · 1주차 · Phase 7 · 외부 세계와의 통신 · 1주차 마지막 Unit이 Unit을 끝내면 다음을 답할 수 있어야 한다.직렬화(serialization)는 왜 필요한가?Serializable이 마커 인터페이스(메서드 0개)인 이유는?seria
F-LAB JAVA · 2주차 · Phase 1 · 자바 변수 ↔ 메모리 영역의 매핑🎯 2주차 시작 — 1주차에서 본 JVM 메모리 영역을, 이제 변수 단위로 매핑한다.이 Unit을 끝내면 다음을 답할 수 있어야 한다.자바 변수 3종류는 무엇이며, 어떤 기준으로 나뉘
F-LAB JAVA · 2주차 · Phase 1 · 자바 변수 ↔ 메모리 영역의 매핑이 Unit을 끝내면 다음을 답할 수 있어야 한다.Shipment s = new Shipment() 한 줄로 메모리 어디에 무엇이 생기는가?참조 변수(s) 와 객체 본체 는 각각 어디에
F-LAB JAVA · 2주차 · Phase 1 · ★ 2주차 핵심 Unit이 Unit을 끝내면 다음을 답할 수 있어야 한다.Method Area는 왜 하나의 박스가 아니라 3개 존으로 나뉘는가?Class Metadata Zone · Static Zone · Non-S
F-LAB JAVA · 2주차 · Phase 1 · 자바 변수 ↔ 메모리 영역의 매핑이 Unit을 끝내면 다음을 답할 수 있어야 한다.스택 프레임의 3개 구성 요소(Local Variable Array · Operand Stack · Frame Data)는?int su
F-LAB JAVA · 2주차 · Phase 1 · 자바 변수 ↔ 메모리 영역의 매핑이 Unit을 끝내면 다음을 답할 수 있어야 한다.Heap에 있는 객체는 자기 클래스의 메서드를 어떻게 찾는가?Object Header의 정확한 구성은? (Mark Word + Clas
F-LAB JAVA · 2주차 · Phase 1 · 자바 변수 ↔ 메모리 영역의 매핑🏁 Phase 1 마지막 Unit이 Unit을 끝내면 다음을 답할 수 있어야 한다.String Constant Pool은 정확히 어느 메모리 영역에 있는가?String a = "abc
F-LAB JAVA · 2주차 · Phase 2 · JVM 메서드 실행 메커니즘🚀 Phase 2 시작 — Phase 1의 메모리 구조 위에서 메서드 호출 추적이 Unit을 끝내면 다음을 답할 수 있어야 한다.메서드 호출은 왜 1단계가 아니라 2단계로 분리되어 있나?M
F-LAB JAVA · 2주차 · Phase 2 · JVM 메서드 실행 메커니즘이 Unit을 끝내면 다음을 답할 수 있어야 한다.메서드 호출의 4가지 케이스 (Static→Static, Static→Instance, Instance→Static, Instance→Ins
F-LAB JAVA · 2주차 · Phase 2 · JVM 메서드 실행 메커니즘이 Unit을 끝내면 다음을 답할 수 있어야 한다.두 줄의 코드가 JVM에서 정확히 몇 단계를 거치는가?5단계 중 가장 비싼 단계는 무엇이며 왜인가?같은 메서드를 100만 번 호출하면 매번
F-LAB JAVA · 2주차 · Phase 2 · JVM 메서드 실행 메커니즘🏁 Phase 2 마지막 Unit이 Unit을 끝내면 다음을 답할 수 있어야 한다.new Shipment() 한 줄이 하는 4가지 작업의 순서는?생성자가 호출되기 전에 객체는 이미 메모리에
F-LAB JAVA · 2주차 · Phase 3 · 바이트코드와 상수 풀🎯 2주차의 정점 시작 — .class 파일을 눈으로 읽기 시작한다이 Unit을 끝내면 다음을 답할 수 있어야 한다.바이트코드와 기계어의 결정적 차이는?.java → .class 컴파일 후, .c
F-LAB JAVA · 2주차 · Phase 3 · 바이트코드와 상수 풀이 Unit을 끝내면 다음을 답할 수 있어야 한다.Constant Pool (.class 파일 안) 과 String Pool (런타임 Heap) 의 차이는?상수 풀에 들어가는 14가지 항목 타입의
F-LAB JAVA · 2주차 · Phase 3 · 바이트코드와 상수 풀이 Unit을 끝내면 다음을 답할 수 있어야 한다.컴파일 시점에 실제 메모리 주소를 박지 않는 이유는?심볼 참조(Symbolic Reference) 와 직접 참조(Direct Reference) 의
F-LAB JAVA · 2주차 · Phase 3 · 바이트코드와 상수 풀🎯 2주차의 정점 — javap -c -v 출력을 처음부터 끝까지 분석한다이 Unit을 끝내면 다음을 답할 수 있어야 한다.javap -c -v ClassName.class 출력의 모든 줄을 해독
F-LAB JAVA · 2주차 · Phase 4 · G1 GC 심화🚀 Phase 4 시작 — 운영 환경 메모리 관리의 깊이로이 Unit을 끝내면 다음을 답할 수 있어야 한다.참조 카운팅(Reference Counting) 의 동작 원리는?참조 카운팅의 치명적 단점이
F-LAB JAVA · 2주차 · Phase 4 · G1 GC 심화이 Unit을 끝내면 다음을 답할 수 있어야 한다.2000년대 → 2010년대 → 현재의 JVM 메모리 환경 변화는?Serial / Parallel / CMS GC의 결정적 한계는?왜 큰 힙(>4GB)
F-LAB JAVA · 2주차 · Phase 4 · G1 GC 심화이 Unit을 끝내면 다음을 답할 수 있어야 한다.G1이 힙을 동일한 크기의 리전으로 분할하는 이유는?리전의 4가지 역할 (Eden, Survivor, Old, Humongous) 의 차이는?Rememb
F-LAB JAVA · 2주차 · Phase 4 · G1 GC 심화이 Unit을 끝내면 다음을 답할 수 있어야 한다.거대 객체(Humongous Object) 의 정확한 기준은?거대 객체를 별도 리전에 두는 이유는?거대 객체가 G1의 효율을 어떻게 떨어뜨리나?연속된 거
F-LAB JAVA · 2주차 · Phase 4 · G1 GC 심화🏁 Phase 4 마지막 Unit — Garbage First의 정체이 Unit을 끝내면 다음을 답할 수 있어야 한다."Garbage First" 이름의 정확한 의미는?각 리전의 회수 효과 를 G1이
F-LAB JAVA · 2주차 · Phase 5 · 컬렉션 프레임워크 내부 구조🚀 Phase 5 시작 — 코드 실무 직결의 컬렉션 내부 들여다보기이 Unit을 끝내면 다음을 답할 수 있어야 한다.List · Set · Map의 본질적 의미 차이는?"순서가 있다"는 삽
F-LAB JAVA · 2주차 · Phase 5 · 컬렉션 프레임워크 내부 구조이 Unit을 끝내면 다음을 답할 수 있어야 한다.ArrayList의 내부 데이터 구조는?기본 초기 크기가 10인 이유는?공간 부족 시 1.5배 확장의 정확한 동작은?1.5배인 이유 — 왜
F-LAB JAVA · 2주차 · Phase 5 · 컬렉션 프레임워크 내부 구조이 Unit을 끝내면 다음을 답할 수 있어야 한다.LinkedList의 Node 클래스 정확한 구조는?자바 LinkedList가 단일/이중 연결 중 어느 쪽인가?head, tail, size
F-LAB JAVA · 2주차 · Phase 5 · 컬렉션 프레임워크 내부 구조🏁 Phase 5 마지막 Unit이 Unit을 끝내면 다음을 답할 수 있어야 한다."LinkedList가 삽입/삭제에 유리하다"는 말은 언제 진실이고 언제 거짓인가?위치 찾기 비용과 실제
F-LAB JAVA · 2주차 · Phase 6 · Reflection & Iterator🚀 Phase 6 시작 — 정적 언어에 동적 능력을 부여하는 마법이 Unit을 끝내면 다음을 답할 수 있어야 한다.Reflection 의 정확한 정의는?자바가 컴파일 타임에 모든
F-LAB JAVA · 2주차 · Phase 6 · Reflection & Iterator이 Unit을 끝내면 다음을 답할 수 있어야 한다.Iterator 패턴 이 해결한 문제는 무엇인가?for-each 가 내부적으로 무엇을 호출하나?Iterator vs ListIte
F-LAB JAVA · 2주차 · Phase 7 · Buffer🏁 2주차의 마지막 Unit — 졸업 직전이 Unit을 끝내면 다음을 답할 수 있어야 한다.Buffer 가 자바에서 의미하는 것은?Buffer의 4가지 속성 (capacity, position, limit
F-LAB JAVA · 3주차 · Phase 1 · Pass by Value의 진짜 이해이 Unit을 끝내면 다음을 답할 수 있어야 한다.Pass by Value 의 정확한 메모리 동작은?Pass by Reference 의 정확한 메모리 동작은?C++의 & 매개변수 는
F-LAB JAVA · 3주차 · Phase 1 · Pass by Value의 진짜 이해🎯 Phase 1 정점 — 면접 단골 질문 완벽 정복이 Unit을 끝내면 다음을 답할 수 있어야 한다.자바는 Call by Value 와 Call by Reference 중 어느
F-LAB JAVA · 3주차 · Phase 2 · 컬렉션 프레임워크 전체 지도🚀 Phase 2 시작 — 1·2주차에서 본 컬렉션의 전체 풍경 완성이 Unit을 끝내면 다음을 답할 수 있어야 한다.배열의 본질 과 컬렉션과의 결정적 차이 는?배열의 5가지 한계 는 무엇
F-LAB JAVA · 3주차 · Phase 2 · 컬렉션 프레임워크 전체 지도이 Unit을 끝내면 다음을 답할 수 있어야 한다.Set 인터페이스의 본질 은 무엇인가?HashSet 이 내부적으로 어떻게 동작하나? (해시 테이블 + HashMap)TreeSet 의 Red
F-LAB JAVA · 3주차 · Phase 2 · 컬렉션 프레임워크 전체 지도이 Unit을 끝내면 다음을 답할 수 있어야 한다.List 인터페이스의 본질 과 Set/Queue/Map 과의 차이는?ArrayList 의 내부 구조와 1.5배 확장 정책은? (2주차 복습)
F-LAB JAVA · 3주차 · Phase 2 · 컬렉션 프레임워크 전체 지도이 Unit을 끝내면 다음을 답할 수 있어야 한다.Queue 의 정확한 의미 (FIFO) 와 사용 시나리오는?offer() vs add(), poll() vs remove(), peek()
F-LAB JAVA · 3주차 · Phase 2 · 컬렉션 프레임워크 전체 지도이 Unit을 끝내면 다음을 답할 수 있어야 한다.Map 인터페이스의 본질 과 키-값 매핑 의미는?HashMap 의 내부 (해시 테이블 + 1주차 PPT 복습) 는?LinkedHashMap
F-LAB JAVA · 3주차 · Phase 2 · 컬렉션 프레임워크 전체 지도🏆 Phase 2 완주 — 자바 컬렉션 마스터 달성이 Unit을 끝내면 다음을 답할 수 있어야 한다.4가지 자료구조 (List/Set/Queue/Map) 와 모든 구현체 의 종합 지도?모든
F-LAB JAVA · 3주차 · Phase 3 · 해시(Hash)의 원리🚀 Phase 3 시작 — HashMap 의 "왜 O(1)?" 메커니즘 정복이 Unit을 끝내면 다음을 답할 수 있어야 한다.데이터 검색의 시간 복잡도가 왜 O(n) → O(log n) → O(
F-LAB JAVA · 3주차 · Phase 3 · 해시(Hash)의 원리이 Unit을 끝내면 다음을 답할 수 있어야 한다.해시 충돌 의 정확한 정의는?비둘기집 원리 (Pigeonhole Principle) 가 무엇이고, 해시 충돌과 어떻게 연결되나?입력 공간이 출력
F-LAB JAVA · 3주차 · Phase 3 · 해시(Hash)의 원리🎯 마스터 프롬프트 깊이 Unit — HashMap 직접 구현 가능 수준이 Unit을 끝내면 다음을 답할 수 있어야 한다.체이닝 (Chaining) 의 정확한 메커니즘과 자료구조는?HashMap
F-LAB JAVA · 3주차 · Phase 3 · 해시(Hash)의 원리🎯 마스터 프롬프트 깊이 Unit — 🏆 Phase 3 완주이 Unit을 끝내면 다음을 답할 수 있어야 한다.오픈 어드레싱 의 정확한 메커니즘과 체이닝과의 차이는?선형 탐사 (Linear Pr
F-LAB JAVA · 3주차 · Phase 4 · 추상화의 두 도구🚀 Phase 4 시작 — 추상클래스 vs 인터페이스 정복이 Unit을 끝내면 다음을 답할 수 있어야 한다.abstract 키워드 의 정확한 의미는?추상클래스 와 일반 클래스 의 결정적 차이는?추상
F-LAB JAVA · 3주차 · Phase 4 · 추상화의 두 도구이 Unit을 끝내면 다음을 답할 수 있어야 한다.interface 키워드 의 정확한 의미는?인터페이스의 멤버 (메서드/필드) 의 자동 수식자는?다중 구현 (Multiple Implementation)
F-LAB JAVA · 3주차 · Phase 4 · 추상화의 두 도구이 Unit을 끝내면 다음을 답할 수 있어야 한다.default 메서드 의 정확한 정의와 등장 배경은?하위 호환성 (Backward Compatibility) 의 문제와 default 의 해결은?def
F-LAB JAVA · 3주차 · Phase 4 · 추상화의 두 도구🏆 Phase 4 완주 — 추상화 마스터 달성이 Unit을 끝내면 다음을 답할 수 있어야 한다."is-a" 관계 vs "can-do" 능력 의 의미는?5가지 결정 기준 으로 두 도구 중 선택할 수 있
F-LAB JAVA · 3주차 · Phase 5 · 제네릭과 와일드카드🚀 Phase 5 시작 — 자바 타입 시스템 정복이 Unit을 끝내면 다음을 답할 수 있어야 한다.Java 1.4 까지의 컬렉션 문제 는 무엇이었나?제네릭 (Generics) 의 정확한 정의와 등장
F-LAB JAVA · 3주차 · Phase 5 · 제네릭과 와일드카드이 Unit을 끝내면 다음을 답할 수 있어야 한다.타입 매개변수 (Type Parameter) 와 타입 인자 (Type Argument) 의 차이는?T, E, K, V, R, N, S, U 등 관례적
F-LAB JAVA · 3주차 · Phase 5 · 제네릭과 와일드카드이 Unit을 끝내면 다음을 답할 수 있어야 한다.제네릭의 불공변성 (Invariance) 이 무엇이고 왜 그렇게 설계되었나?와일드카드 ? 의 정확한 의미는?<?> (unbounded) 의 의미
F-LAB JAVA · 3주차 · Phase 5 · 제네릭과 와일드카드이 Unit을 끝내면 다음을 답할 수 있어야 한다.제네릭 클래스 vs 제네릭 메서드 의 결정적 차이는?타입 추론 (Type Inference) 의 메커니즘은?타깃 타입 (Target Typing) 이
F-LAB JAVA · 3주차 · Phase 5 · 제네릭과 와일드카드🎯 마스터 프롬프트 깊이 Unit — 🏆 Phase 5 완주이 Unit을 끝내면 다음을 답할 수 있어야 한다.PECS 원칙 의 정확한 의미와 적용 방법은?Producer Extends 의 입출력
F-LAB JAVA · 3주차 · Phase 6 · 객체 비교🚀 Phase 6 시작 — 객체 비교 정복이 Unit을 끝내면 다음을 답할 수 있어야 한다.== 연산자 와 equals() 메서드 의 정확한 차이는?Object 의 기본 equals 구현 은 무엇이고 왜 그
F-LAB JAVA · 3주차 · Phase 6 · 객체 비교이 Unit을 끝내면 다음을 답할 수 있어야 한다.Comparable<T> 인터페이스 의 정확한 정의는?compareTo 메서드 의 반환값 의미는?자연 순서 (Natural Ordering) 가 무엇인가
F-LAB JAVA · 3주차 · Phase 6 · 객체 비교이 Unit을 끝내면 다음을 답할 수 있어야 한다.Comparator<T> 와 Comparable<T> 의 결정적 차이는?함수형 인터페이스로서의 Comparator 활용은?comparing, the
F-LAB JAVA · 3주차 · Phase 6 · 객체 비교🎯 마스터 프롬프트 깊이 Unit — 🏆 Phase 6 완주이 Unit을 끝내면 다음을 답할 수 있어야 한다.equals + hashCode + Comparable + Comparator 의 4가지 비교
F-LAB JAVA · 3주차 · Phase 7 · I/O 시스템 큰 그림🚀 Phase 7 시작 — I/O 정복이 Unit을 끝내면 다음을 답할 수 있어야 한다.자원 (Resource) 의 정의와 수동 관리의 문제 는?try-finally 의 4가지 구조적 문제는?t
F-LAB JAVA · 3주차 · Phase 7 · I/O 시스템 큰 그림이 Unit을 끝내면 다음을 답할 수 있어야 한다.IO (Java 1.0) 의 핵심 구조와 한계는?NIO (Java 1.4) 가 등장한 배경과 해결한 문제는?NIO.2 (Java 7) 의 추가 기
F-LAB JAVA · 3주차 · Phase 7 · I/O 시스템 큰 그림이 Unit을 끝내면 다음을 답할 수 있어야 한다.Stream (IO) 의 정밀한 구조와 동작은?Channel (NIO) 의 정밀한 구조와 동작은?Buffer 의 4가지 속성 (capacity,
F-LAB JAVA · 3주차 · Phase 7 · I/O 시스템 큰 그림🎯 마스터 프롬프트 깊이 Unit이 Unit을 끝내면 다음을 답할 수 있어야 한다.Blocking I/O 의 정확한 동작 (OS 레벨까지) 은?Blocking 의 5가지 구조적 문제 는?Bloc
F-LAB JAVA · 3주차 · Phase 7 · I/O 시스템 큰 그림🏆 Phase 7 완주 — I/O 시스템 마스터이 Unit을 끝내면 다음을 답할 수 있어야 한다.오버헤드 (Overhead) 의 정의와 종류는?I/O 의 오버헤드 가 발생하는 4가지 지점은?Fi
F-LAB JAVA · 3주차 · Phase 8 · Stream 실전🚀 Phase 8 시작 — Stream 코드 실전이 Unit을 끝내면 다음을 답할 수 있어야 한다.System.in 의 정확한 정체와 타입은?System.in, System.out, System.er
F-LAB JAVA · 3주차 · Phase 8 · Stream 실전이 Unit을 끝내면 다음을 답할 수 있어야 한다.FileInputStream 의 정의와 InputStream 과의 관계는?5가지 생성자 의 차이는?read() 의 정확한 동작과 반환값 은?파일 끝 (
F-LAB JAVA · 3주차 · Phase 8 · Stream 실전이 Unit을 끝내면 다음을 답할 수 있어야 한다.read(byte\[]) 의 정확한 동작과 반환값은?read(byte\[], off, len) 의 3가지 매개변수의 의미는?1바이트 읽기 vs byte
F-LAB JAVA · 3주차 · Phase 8 · Stream 실전이 Unit을 끝내면 다음을 답할 수 있어야 한다.FileOutputStream 의 정의와 OutputStream 과의 관계는?5가지 생성자 의 차이는?new FileOutputStream(path,
F-LAB JAVA · 3주차 · Phase 8 · Stream 실전이 Unit을 끝내면 다음을 답할 수 있어야 한다.Reader 의 정의와 InputStream 과의 결정적 차이 는?FileReader 의 정의와 한계는?InputStreamReader 의 정의와 활용
F-LAB JAVA · 3주차 · Phase 8 · Stream 실전🏆 Phase 8 완주 — Stream 실전 마스터이 Unit을 끝내면 다음을 답할 수 있어야 한다.Writer 의 정의와 OutputStream 과의 차이 는?FileWriter 의 정의와 한계는?
F-LAB JAVA · 3주차 · Phase 9 · I/O 강화🚀 Phase 9 시작 — Stream 의 강화이 Unit을 끝내면 다음을 답할 수 있어야 한다.자원 (Resource) 의 정의와 수동 관리의 문제 는?try-finally 의 4가지 구조적 문제는?tr
F-LAB JAVA · 3주차 · Phase 9 · I/O 강화이 Unit을 끝내면 다음을 답할 수 있어야 한다.BufferedInputStream 의 정의와 내부 8KB 버퍼는?BufferedOutputStream 의 정의와 flush 의 정확한 동작은?Decorat
F-LAB JAVA · 3주차 · Phase 9 · I/O 강화이 Unit을 끝내면 다음을 답할 수 있어야 한다.DataInputStream / DataOutputStream 의 정의와 활용 시점은?기본 타입 메서드 (readInt, readLong, readDoubl
F-LAB JAVA · 3주차 · Phase 9 · I/O 강화이 Unit을 끝내면 다음을 답할 수 있어야 한다.직렬화 (Serialization) 의 정의와 목적은?Serializable 인터페이스 의 역할과 마커 인터페이스의 의미는?ObjectInputStream
F-LAB JAVA · 3주차 · Phase 9 · I/O 강화🏆 Phase 9 완주 — I/O 강화 마스터이 Unit을 끝내면 다음을 답할 수 있어야 한다.serialVersionUID 의 정의와 역할은?자동 계산 vs 명시적 선언 의 차이는?InvalidClass
F-LAB JAVA · 3주차 · Phase 10 · 함수형 프로그래밍🚀 Phase 10 시작 — 3주차 마지막 Phase 진입이 Unit을 끝내면 다음을 답할 수 있어야 한다.람다 표현식 의 정의와 등장 배경은?함수형 인터페이스 의 정의와 @FunctionalInt
F-LAB JAVA · 3주차 · Phase 10 · 함수형 프로그래밍이 Unit을 끝내면 다음을 답할 수 있어야 한다.Stream 의 정의 와 컬렉션과의 차이는?Stream 의 5가지 특성 (지연 평가, 한 번 사용 등) 은?Stream 생성 방법 (of, strea
F-LAB JAVA · 3주차 · Phase 10 · 함수형 프로그래밍★ 마스터 Unit — Collectors 의 모든 것이 Unit을 끝내면 다음을 답할 수 있어야 한다.Collector 인터페이스 의 4가지 구성 요소 (supplier, accumulator, c
F-LAB JAVA · 4주차 · Phase 1 · 동시성의 기초🚀 4주차 시작 — 동시성의 세계 진입이 Unit을 끝내면 다음을 답할 수 있어야 한다.멀티태스킹 (Multitasking) 의 정의와 메커니즘은?멀티프로세싱 (Multiprocessing) 의 정의와
F-LAB JAVA · 4주차 · Phase 1 · 동시성의 기초이 Unit을 끝내면 다음을 답할 수 있어야 한다.프로세스 (Process) 의 정의와 특징은?스레드 (Thread) 의 정의와 특징은?프로세스의 메모리 구성 (코드/데이터/힙/스택) 은?스레드가 공유하는
F-LAB JAVA · 4주차 · Phase 1 · 동시성의 기초이 Unit을 끝내면 다음을 답할 수 있어야 한다.지역 변수 의 메모리 위치와 스레드 안전성은?인스턴스 변수 의 메모리 위치와 스레드 안전성은?클래스 변수 (static) 의 메모리 위치와 스레드 안전성은
F-LAB JAVA · 4주차 · Phase 1 · 동시성의 기초🏆 Phase 1 완주 — 동시성의 기초 마스터이 Unit을 끝내면 다음을 답할 수 있어야 한다.스케줄링 큐 (Scheduling Queue) 의 정의와 역할은?컨텍스트 스위칭 (Context Switc
F-LAB JAVA · 4주차 · Phase 2 · Sync/Async × Blocking/Non-Blocking 4분면🚀 Phase 2 시작 — 4분면 매트릭스 진입이 Unit을 끝내면 다음을 답할 수 있어야 한다.동기 (Synchronous) 의 정의와 핵심은?비
F-LAB JAVA · 4주차 · Phase 2 · Sync/Async × Blocking/Non-Blocking 4분면이 Unit을 끝내면 다음을 답할 수 있어야 한다.블로킹 (Blocking) 의 정의와 핵심은?논블로킹 (Non-Blocking) 의 정의와 핵심은?
F-LAB JAVA · 4주차 · Phase 2 · Sync/Async × Blocking/Non-Blocking 4분면★ 마스터 Unit — 면접 단골 (★★★) + 🏆 Phase 2 완주이 Unit을 끝내면 다음을 답할 수 있어야 한다.4분면 매트릭스 (Sync/
F-LAB JAVA · 4주차 · Phase 3 · 스레드 만들고 다루기🚀 Phase 3 시작 — 스레드 실전 진입이 Unit을 끝내면 다음을 답할 수 있어야 한다.자바 스레드의 6가지 상태 는?NEW → RUNNABLE → TERMINATED 의 흐름은?BLOCKE
F-LAB JAVA · 4주차 · Phase 3 · 스레드 만들고 다루기이 Unit을 끝내면 다음을 답할 수 있어야 한다.Thread 클래스 상속 으로 스레드 만드는 법은?run() 오버라이드 의 역할은?start() 의 동작 (새 스레드 생성) 은?run() 직접 호
F-LAB JAVA · 4주차 · Phase 3 · 스레드 만들고 다루기이 Unit을 끝내면 다음을 답할 수 있어야 한다.Runnable 인터페이스 의 정의와 구조는?Thread 상속의 한계 (단일 상속, 결합) 는?Runnable 의 장점 3가지 는?람다로 Runna
F-LAB JAVA · 4주차 · Phase 3 · 스레드 만들고 다루기이 Unit을 끝내면 다음을 답할 수 있어야 한다.데몬 스레드 (Daemon Thread) 의 정의는?일반 스레드 (User Thread) vs 데몬 스레드 의 차이는?JVM 종료 조건 (모든 일반
F-LAB JAVA · 4주차 · Phase 3 · 스레드 만들고 다루기🏆 Phase 3 완주 — 스레드 다루기 마스터이 Unit을 끝내면 다음을 답할 수 있어야 한다.join() 의 정의 와 동작은?join() 시 호출자 스레드의 상태 는?병렬 실행 vs 직렬 실행
F-LAB JAVA · 4주차 · Phase 4 · 동기화: synchronized와 메모리 가시성🚀 Phase 4 시작 — ★ 4주차 1차 정점 진입이 Unit을 끝내면 다음을 답할 수 있어야 한다.임계 영역 (Critical Section) 의 정의는?공유 자원
F-LAB JAVA · 4주차 · Phase 4 · 동기화: synchronized와 메모리 가시성이 Unit을 끝내면 다음을 답할 수 있어야 한다.synchronized 메서드 의 정의와 동작은?synchronized 의 잠금 대상 (this) 은?같은 객체에 한 번
F-LAB JAVA · 4주차 · Phase 4 · 동기화: synchronized와 메모리 가시성이 Unit을 끝내면 다음을 답할 수 있어야 한다.synchronized 블록 의 정의와 동작은?동기화 범위 최소화 의 의미와 효과는?잠금 대상 명시 의 방법은?synch
F-LAB JAVA · 4주차 · Phase 4 · 동기화: synchronized와 메모리 가시성★ 마스터 Unit — 면접 단골 (★★★)이 Unit을 끝내면 다음을 답할 수 있어야 한다.모니터 락 (Monitor Lock / Intrinsic Lock) 의 정의는
F-LAB JAVA · 4주차 · Phase 4 · 동기화: synchronized와 메모리 가시성★ 마스터 Unit + 🏆 Phase 4 완주 — ★ 4주차 1차 정점 완료이 Unit을 끝내면 다음을 답할 수 있어야 한다.메모리 가시성 (Visibility) 문제
F-LAB JAVA · 4주차 · Phase 5 · 정교한 락: LockSupport와 ReentrantLock🚀 Phase 5 시작 — 정교한 락 진입이 Unit을 끝내면 다음을 답할 수 있어야 한다.synchronized 의 핵심 한계 3가지 는?무한 대기 (타임
F-LAB JAVA · 4주차 · Phase 5 · 정교한 락: LockSupport와 ReentrantLock이 Unit을 끝내면 다음을 답할 수 있어야 한다.LockSupport 의 정의와 역할은?park() / parkNanos() / unpark() 의 동작은?
F-LAB JAVA · 4주차 · Phase 5 · 정교한 락: LockSupport와 ReentrantLock이 Unit을 끝내면 다음을 답할 수 있어야 한다.ReentrantLock 의 정의와 위치는?lock() / unlock() 의 사용법은?try-finally
F-LAB JAVA · 4주차 · Phase 5 · 정교한 락: LockSupport와 ReentrantLock★ 마스터 Unit (실무 직결) + 🏆 Phase 5 완주이 Unit을 끝내면 다음을 답할 수 있어야 한다.tryLock() 의 두 형태 (즉시 / 타임아
F-LAB JAVA · 4주차 · Phase 6 · 스레드 간 협력🚀 Phase 6 시작 — 스레드 협력 진입이 Unit을 끝내면 다음을 답할 수 있어야 한다.생산자-소비자 문제 (Producer-Consumer) 의 정의는?생산자와 소비자의 역할 은?버퍼 (큐) 가
F-LAB JAVA · 4주차 · Phase 6 · 스레드 간 협력이 Unit을 끝내면 다음을 답할 수 있어야 한다.wait() 의 동작 (락 반납 + 대기) 은?wait() 가 synchronized 안에서만 가능한 이유는?notify() / notifyAll() 의
F-LAB JAVA · 4주차 · Phase 6 · 스레드 간 협력이 Unit을 끝내면 다음을 답할 수 있어야 한다.인터럽트 (Interrupt) 의 정의는?인터럽트가 강제 종료가 아닌 이유는?interrupt() / isInterrupted() / interrupte
F-LAB JAVA · 4주차 · Phase 6 · 스레드 간 협력🏆 Phase 6 완주 — 스레드 협력 마스터이 Unit을 끝내면 다음을 답할 수 있어야 한다.yield() 의 동작 (CPU 양보 힌트) 은?yield() 가 RUNNABLE 을 유지 하는 이유는?y
F-LAB JAVA · 4주차 · Phase 7 · Executor 프레임워크🚀 Phase 7 시작 — ★ 4주차 2차 정점 진입이 Unit을 끝내면 다음을 답할 수 있어야 한다.스레드 직접 생성의 문제 3가지는?스레드 생성 비용 (메모리, OS) 은?무제한 스레드
F-LAB JAVA · 4주차 · Phase 7 · Executor 프레임워크이 Unit을 끝내면 다음을 답할 수 있어야 한다.Executor 인터페이스 의 역할은?ExecutorService 가 Executor 를 확장한 점은?execute() vs submit()
F-LAB JAVA · 4주차 · Phase 7 · Executor 프레임워크이 Unit을 끝내면 다음을 답할 수 있어야 한다.Callable 의 정의와 Runnable 과의 차이는?Callable 의 반환값과 예외 처리는?Future 의 정의와 역할은?Future.g
F-LAB JAVA · 4주차 · Phase 7 · Executor 프레임워크★ 마스터 Unit — 면접 핵심 (★★★) + 4주차 2차 정점의 정점이 Unit을 끝내면 다음을 답할 수 있어야 한다.ThreadPoolExecutor 의 핵심 파라미터 5가지는?coreP
F-LAB JAVA · 4주차 · Phase 7 · Executor 프레임워크이 Unit을 끝내면 다음을 답할 수 있어야 한다.newFixedThreadPool 의 구성과 특성은?newCachedThreadPool 의 구성과 위험은?newSingleThreadExecu
F-LAB JAVA · 4주차 · Phase 7 · Executor 프레임워크이 Unit을 끝내면 다음을 답할 수 있어야 한다.LinkedBlockingQueue 의 특성은?ArrayBlockingQueue 의 특성은?SynchronousQueue 의 특성 (직접 전달
F-LAB JAVA · 4주차 · Phase 7 · Executor 프레임워크🏆 Phase 7 완주 — ★ 4주차 2차 정점 완료이 Unit을 끝내면 다음을 답할 수 있어야 한다.shutdown() 의 동작 은?shutdownNow() 의 동작 은?shutdown v
F-LAB JAVA · 4주차 · Phase 8 · 고급 비동기🚀 Phase 8 시작 + ★ 마스터 Unit — 비동기 프로그래밍의 정점이 Unit을 끝내면 다음을 답할 수 있어야 한다.CompletableFuture 가 Future 의 한계를 극복하는 점은?supp
F-LAB JAVA · 4주차 · Phase 8 · 고급 비동기이 Unit을 끝내면 다음을 답할 수 있어야 한다.ForkJoinPool 의 정의와 목적은?분할 정복 (Divide and Conquer) 방식은?work stealing (작업 훔치기) 메커니즘은?각 스레
F-LAB JAVA · 4주차 · Phase 8 · 고급 비동기🏆 Phase 8 완주 + 🎓 4주차 전체 완주 — 동시성/멀티스레딩 마스터이 Unit을 끝내면 다음을 답할 수 있어야 한다.RecursiveTask 와 RecursiveAction 의 차이는?compu
F-LAB JAVA · 5주차 · Phase 1 · 스레드 풀의 필요성 재정리🚀 5주차 시작 — Part A 동시성 마무리이 Unit을 끝내면 다음을 답할 수 있어야 한다."스레드를 많이 쓸수록 빠를까?" 의 답은?컨텍스트 스위칭 오버헤드 란?스레드 수와 데드락 의
F-LAB JAVA · 5주차 · Phase 1 · 스레드 풀의 필요성 재정리이 Unit을 끝내면 다음을 답할 수 있어야 한다.컨텍스트 스위칭 시 일어나는 일 4단계는?레지스터 백업/복원 의 의미는?캐시 무효화 (캐시 미스) 의 영향은?스위칭 횟수 = 스레드 수 비례
F-LAB JAVA · 5주차 · Phase 1 · 스레드 풀의 필요성 재정리🏆 Phase 1 완주 — 스레드 풀 필요성 정리이 Unit을 끝내면 다음을 답할 수 있어야 한다.스레드 풀이 3가지 문제를 해결하는 방식은?재사용 / 개수 제한 / idle 회수 는?Exe
F-LAB JAVA · 5주차 · Phase 1 · 스레드 풀의 필요성 재정리🏆 Phase 1 완주 — 스레드 풀 필요성 정리이 Unit을 끝내면 다음을 답할 수 있어야 한다.스레드 풀이 3가지 문제를 해결하는 방식은?재사용 / 개수 제한 / idle 회수 는?Exe
F-LAB JAVA · 5주차 · Phase 2 · 동시성 안전 도구 3종 비교🚀 Phase 2 시작 — 가시성과 원자성이 Unit을 끝내면 다음을 답할 수 있어야 한다.동시성 문제가 정확히 2가지 인 이유는?가시성 (Visibility) 문제 의 정의는?원자성/동시
F-LAB JAVA · 5주차 · Phase 2 · 동시성 안전 도구 3종 비교이 Unit을 끝내면 다음을 답할 수 있어야 한다.synchronized 가 가시성을 보장 하는 원리는?synchronized 가 원자성을 보장 하는 원리는?성능 비용 (BLOCKED) 의
F-LAB JAVA · 5주차 · Phase 2 · 동시성 안전 도구 3종 비교이 Unit을 끝내면 다음을 답할 수 있어야 한다.volatile 이 가시성을 보장 하는 원리는?volatile 이 원자성을 보장하지 못하는 이유는?count++ 가 volatile 로도 안
F-LAB JAVA · 5주차 · Phase 2 · 동시성 안전 도구 3종 비교★ 마스터 Unit — 면접 핵심 (★★★) + Phase 2 완주 (Part A 동시성 완성)이 Unit을 끝내면 다음을 답할 수 있어야 한다.CAS (Compare And Swap) 알고
F-LAB JAVA · 5주차 · Phase 3 · 전통 DAO의 문제🌱 Part B 시작 — 토비의 스프링: 객체 설계의 진화이 Unit을 끝내면 다음을 답할 수 있어야 한다.DAO (Data Access Object) 의 정의는?DAO 가 분리하는 책임 은?비즈니
F-LAB JAVA · 5주차 · Phase 3 · 전통 DAO의 문제이 Unit을 끝내면 다음을 답할 수 있어야 한다.전통 JDBC DAO 코드의 단계 는?드라이버 로딩 / 연결 / SQL / 자원 해제 의 흐름은?한 메서드가 신경 쓰는 관심사 5개는?DB 종류 변경
F-LAB JAVA · 5주차 · Phase 3 · 전통 DAO의 문제🏆 Phase 3 완주 — 전통 DAO 문제 진단이 Unit을 끝내면 다음을 답할 수 있어야 한다.한 메서드에 섞인 책임 들은?"변경 1번 = 수정 N곳" 의 의미는?코드 중복이 단순 미관 문제가
F-LAB JAVA · 5주차 · Phase 4 · 관심사의 분리🌱 Phase 4 시작 — ★ 깊이 파기 (Spring 이해의 출발점)이 Unit을 끝내면 다음을 답할 수 있어야 한다.관심사의 분리 (Separation of Concerns) 원칙은?관심사 (Conc
F-LAB JAVA · 5주차 · Phase 4 · 관심사의 분리★ 깊이 파기 — 리팩토링 1단계이 Unit을 끝내면 다음을 답할 수 있어야 한다.메서드 추출 (Extract Method) 이란?Before (중복) → After (추출) 의 변화는?getConnect
F-LAB JAVA · 5주차 · Phase 4 · 관심사의 분리★ 깊이 파기 + 🏆 Phase 4 완주 — 관심사 분리의 진화이 Unit을 끝내면 다음을 답할 수 있어야 한다."코드 공개 없이 다른 DB 지원" 문제는?getConnection 을 추상 메서드로 만드
F-LAB JAVA · 5주차 · Phase 5 · 디자인 패턴의 적용🌱 Phase 5 시작 — Phase 4 리팩토링의 정체 밝히기이 Unit을 끝내면 다음을 답할 수 있어야 한다.템플릿 메소드 패턴 의 정의는?템플릿 메서드 + 추상 메서드 의 구조는?"변하지 않는
F-LAB JAVA · 5주차 · Phase 5 · 디자인 패턴의 적용이 Unit을 끝내면 다음을 답할 수 있어야 한다.팩토리 메소드 패턴 의 정의는?객체 생성을 서브클래스에 위임 하는 의미는?getConnection 이 팩토리 메소드인 이유는?같은 코드가 두 패턴으로
F-LAB JAVA · 5주차 · Phase 5 · 디자인 패턴의 적용🏆 Phase 5 완주 — 상속의 한계와 합성으로의 전환이 Unit을 끝내면 다음을 답할 수 있어야 한다.상속을 이용한 분리의 단점 3가지는?단일 상속 제약 의 문제는?컴파일 타임 결합 의 문제는?
F-LAB JAVA · 5주차 · Phase 6 · 객체지향 설계 원칙 (OCP & 전략 패턴)🌱 Phase 6 시작 — 인터페이스 + 합성의 본격 도입이 Unit을 끝내면 다음을 답할 수 있어야 한다.ConnectionMaker 인터페이스 도입 의 효과는?인터페이스
F-LAB JAVA · 5주차 · Phase 6 · 객체지향 설계 원칙 (OCP & 전략 패턴)★ 깊이 파기 — 모든 디자인 패턴의 뿌리이 Unit을 끝내면 다음을 답할 수 있어야 한다.OCP (개방폐쇄원칙) 의 정의는?"확장에 열림, 변경에 닫힘" 의 의미는?Ship
F-LAB JAVA · 5주차 · Phase 6 · 객체지향 설계 원칙 (OCP & 전략 패턴)🏆 Phase 6 완주 — 지금까지의 진화를 패턴으로 명명이 Unit을 끝내면 다음을 답할 수 있어야 한다.전략 패턴 (Strategy Pattern) 의 정의는?Conte
F-LAB JAVA · 5주차 · Phase 7 · 제어의 역전 (IoC)🌱 Phase 7 시작 — ★ 깊이 파기 (Spring 의 정신)이 Unit을 끝내면 다음을 답할 수 있어야 한다.IoC (제어의 역전) 의 개념은?전통 방식 vs IoC 방식 의 차이는?"역전
F-LAB JAVA · 5주차 · Phase 7 · 제어의 역전 (IoC)이 Unit을 끝내면 다음을 답할 수 있어야 한다.프레임워크와 라이브러리 의 차이는?누가 흐름을 제어하는가 ?호출 방향 의 차이는?망치 vs 공장 비유는?Hollywood Principle 이란?
F-LAB JAVA · 5주차 · Phase 7 · 제어의 역전 (IoC)🏆 Phase 7 완주 — IoC 의 실체, 컨테이너이 Unit을 끝내면 다음을 답할 수 있어야 한다.IoC 컨테이너 란 무엇인가?객체 생성·연결·생명주기 관리 의 의미는?IoC 컨테이너 = S
F-LAB JAVA · 5주차 · Phase 8 · Spring 컨테이너🌱 Phase 8 시작 — 5주차 마지막 Phase, Spring 컨테이너 실체이 Unit을 끝내면 다음을 답할 수 있어야 한다.빈 (Bean) 이란 무엇인가?BeanFactory 의 역할은?Ap
F-LAB JAVA · 5주차 · Phase 8 · Spring 컨테이너이 Unit을 끝내면 다음을 답할 수 있어야 한다.getBean() 의 동작 흐름 은?빈 목록에서 찾기 → 없으면 생성 과정은?의존 빈 자동 생성·주입 은?처음 호출 vs 두 번째 호출 차이는?@B
F-LAB JAVA · 5주차 · Phase 8 · Spring 컨테이너★ 깊이 파기 — 4주차 동시성과 만나는 지점이 Unit을 끝내면 다음을 답할 수 있어야 한다.getBean 100번 = 1객체 인 이유는?ApplicationContext = 싱글톤 레지스트리 인
F-LAB JAVA · 5주차 · Phase 8 · Spring 컨테이너★ 깊이 파기 + 🏆 Phase 8 완주 + 🎓 5주차 전체 완주 + 종합 졸업 시험 20문항이 Unit을 끝내면 다음을 답할 수 있어야 한다.DI (의존관계 주입) 의 정의는?런타임 의존관계
F-LAB JAVA · 6주차 · Phase 1 · JUnit 테스트🧪 Part A 시작 — 테스트로 검증하는 코드이 Unit을 끝내면 다음을 답할 수 있어야 한다.왜 테스트가 필요한가 ?main() 검증 vs 단위 테스트 의 본질적 차이는?코드 변경 시 검증 부담
F-LAB JAVA · 6주차 · Phase 1 · JUnit 테스트이 Unit을 끝내면 다음을 답할 수 있어야 한다.assertThat(actual, matcher) 의 구성은?is() 매처 의 동작은?전통 assertEquals vs Hamcrest 매처 차이는?자
F-LAB JAVA · 6주차 · Phase 1 · JUnit 테스트이 Unit을 끝내면 다음을 답할 수 있어야 한다.JUnit 의 7단계 실행 흐름 은?@Test 메서드를 찾는 방식은?각 테스트마다 새 인스턴스 생성 의 의미는?@BeforeEach / @AfterEa
F-LAB JAVA · 6주차 · Phase 1 · JUnit 테스트이 Unit을 끝내면 다음을 답할 수 있어야 한다.매번 새 오브젝트를 만드는 핵심 이유 는?"독립적 실행 보장" 의 의미는?인스턴스 변수를 부담 없이 사용 할 수 있는 이유는?테스트 간 의존성 제거 는
Unit 1.5 — 픽스처(Fixture)와 @BeforeEach > F-LAB JAVA · 6주차 · Phase 1 · JUnit 테스트 > 🏆 Phase 1 완주 — 일관된 테스트의 완성 📌 학습 목표 이 Unit을 끝내면 다음을 답할 수 있어야 한다.
F-LAB JAVA · 6주차 · Phase 2 · 웹 인프라 기초🌐 Phase 2 시작 — Spring MVC 전 인프라 정리이 Unit을 끝내면 다음을 답할 수 있어야 한다.웹서버와 WAS 의 역할 차이는?정적 자원 vs 동적 자원 은?웹서버 예시 (Apache,
Unit 2.2 — 서블릿(Servlet)과 JSP > F-LAB JAVA · 6주차 · Phase 2 · 웹 인프라 기초 📌 학습 목표 이 Unit을 끝내면 다음을 답할 수 있어야 한다. [ ] 서블릿(Servlet) 이란? [ ] JSP(Java Serve
F-LAB JAVA · 6주차 · Phase 2 · 웹 인프라 기초이 Unit을 끝내면 다음을 답할 수 있어야 한다.SSR(서버 사이드 렌더링) 이란?CSR(클라이언트 사이드 렌더링) 이란?화면 생성 위치 의 차이는?초기 로딩 속도 비교는?SEO 측면 비교는?서버 부하
Unit 2.4 — JAR vs WAR > F-LAB JAVA · 6주차 · Phase 2 · 웹 인프라 기초 > 🏆 Phase 2 완주 + Part A 완주 — 배포 패키징의 선택 📌 학습 목표 이 Unit을 끝내면 다음을 답할 수 있어야 한다. [ ] J
F-LAB JAVA · 6주차 · Phase 3 · JDBC 표준화의 등장💾 Part B 시작 — DB 접근의 진화 (6주차의 정점)이 Unit을 끝내면 다음을 답할 수 있어야 한다.JDBC 등장 전의 고통 은?각 DB 마다 고유 API 문제는?DB 변경 시 코드 재
F-LAB JAVA · 6주차 · Phase 3 · JDBC 표준화의 등장이 Unit을 끝내면 다음을 답할 수 있어야 한다.JDBC = 자바 DB 접근 표준 API 의 의미는?같은 코드, 다른 DB (URL/드라이버) 는?JDBC 가 해결한 것 (연결/실행/결과) 은?
F-LAB JAVA · 6주차 · Phase 3 · JDBC 표준화의 등장🏆 Phase 3 완주 — JDBC 의 한계와 상위 프레임워크의 등장이 Unit을 끝내면 다음을 답할 수 있어야 한다.JDBC 의 한계 는?SQL 문법 차이 (LIMIT vs ROWNUM) 는?
F-LAB JAVA · 6주차 · Phase 4 · Connection Pool과 DB 세션🔗 Phase 4 시작 — DB 접근 성능의 핵심이 Unit을 끝내면 다음을 답할 수 있어야 한다.DB 연결의 비용 3가지는?TCP 3-way handshake 란?DB 인증
F-LAB JAVA · 6주차 · Phase 4 · Connection Pool과 DB 세션★ 깊이 파기 — Connection Pool 의 모든 것이 Unit을 끝내면 다음을 답할 수 있어야 한다.Connection Pool 의 정의는?풀 동작 (미리 N개, 빌림/반
F-LAB JAVA · 6주차 · Phase 4 · Connection Pool과 DB 세션이 Unit을 끝내면 다음을 답할 수 있어야 한다.DB 연결 절차 5단계 는?DB 세션 이란?세션 = 트랜잭션 단위 의 의미는?한 Connection 에서 동시 두 트랜잭션 가능
F-LAB JAVA · 6주차 · Phase 4 · Connection Pool과 DB 세션🏆 Phase 4 완주 — DB 동시성, 4주차와 만나는 지점이 Unit을 끝내면 다음을 답할 수 있어야 한다.DB Lock 이 필요한 이유는?트랜잭션 원자성 보호 와 락의 관