면접 CS 정리 Day 19 (풀스택 / Java·Spring·React)Q1. try-with-resources문제try-with-resources가 뭔지, finally에서 직접 close() 안 해도 되는 이유.답AutoCloseable 리소스를 try (...) 안에 선언하면 블록 종료 시 자동 close().catch/finally를 없애는 게 아니라 리소스 해제를 자동화한다.Q2. Message Queue문제Kafka/RabbitMQ 등을 쓰는 이유 2가지.답비동기 처리 — API는 바로 응답, 알림·메일 등은 나중에 처리서비스 분리(decoupling) — 서비스끼리 직접 호출 없이 큐로 연결보너스: 트래픽 버퍼(순간 폭주 완화).Q3. LIKE '%keyword%'문제인덱스를 왜 잘 못 타..
면접 CS 정리 Day 18 (풀스택 / Java·Spring·React)Q1. enum문제enum을 상수 문자열 대신 쓰는 이유 2가지.답타입 안전 — 잘못된 값·오타를 컴파일에서 잡기 쉬움허용 값 고정 — 정해진 목록만 쓰게 강제보너스: static import로 명확하게 쓰기, 메서드·필드 추가 가능.Q2. CORS preflight문제CORS preflight가 뭔지, OPTIONS가 언제 먼저 나가나?답본 요청 전에 브라우저가 서버 허용 여부를 먼저 확인하는 OPTIONS 요청.단순 요청이 아닐 때 — 예: POST + Content-Type: application/json, 커스텀 헤더, PUT/DELETE.Q3. COUNT(*) vs COUNT(컬럼)문제차이? NULL 행은?답COUNT(*)..
면접 CS 정리 Day 17 (풀스택 / Java·Spring·React)Q1. Comparable vs Comparator문제Comparable이랑 Comparator 차이? 정렬 기준을 어디에 두는지.답Comparable: 클래스 안 compareTo() — 기본 정렬 1개Comparator: 바깥 compare(a, b) — 정렬 기준 여러 개 (람다 가능)Comparable = 자연 순서 / Comparator = 외부에서 다른 기준.Q2. @Valid + Bean Validation문제@NotNull / @Size / @Valid가 뭐 하는지? 어디서 검증되나?답@NotNull, @Size 등 = DTO 필드에 입력값 규칙 선언@Valid = 그 규칙으로 검증 실행 트리거컨트롤러에서 @Reque..
면접 CS 정리 Day 16 (풀스택 / Java·Spring·React)Q1. pass by value문제자바는 참조 전달이 아니라 실제로 무엇이 넘어가나?메서드 안에서 파라미터를 바꿔도 원본이 안 바뀌는 이유.답자바는 pass by value(값 전달) 만 있다.기본형: 값 복사객체: 참조(주소) 값 복사 (객체 자체 복사 아님)param = new User() → 참조 변수만 바뀜 → 원본 변수는 그대로.param.setName() → 같은 객체를 가리키므로 원본 내용은 바뀜.프록시와는 다른 개념.Q2. ACID문제A / C / I / D 각각 한 글자 의미.답A Atomicity: 원자성 — 전부 성공 or 전부 실패C Consistency: 일관성 — 트랜잭션 전후 데이터 규칙 유지I Isola..
면접 CS 정리 Day 15 (풀스택 / Java·Spring·React)Q1. 프로세스 vs 스레드문제프로세스랑 스레드 차이? 메모리 공유, 생성 비용 기준.답프로세스: 메모리 독립(공유 안 함), 생성 비용 비쌈스레드: 같은 프로세스 안 메모리 공유, 생성 비용 싸다Spring은 보통 한 JVM(프로세스) 안에서 여러 스레드로 요청을 처리한다.Q2. LAZY vs EAGER문제JPA FetchType.LAZY / EAGER 차이? 실무 기본값 + N+1 연결.답LAZY: 연관 데이터 필요할 때 조회EAGER: 엔티티 조회 시 연관까지 바로 조회실무 연관관계는 보통 LAZY.N+1은 LAZY에서 루프 접근 시 자주 나고, fetch join / @EntityGraph로 줄인다.EAGER로 해결하려다 불..
면접 CS 정리 Day 14 (풀스택 / Java·Spring·React)Q1. HashMap vs Hashtable문제HashMap이랑 Hashtable 차이? null, 동기화 기준.답HashMap: null key/value 가능, 동기화 없음 → 실무 기본Hashtable: null 불가, 동기화 있음 → 레거시멀티스레드 Map은 ConcurrentHashMap을 쓴다.Q2. 생성자 주입문제필드 주입보다 생성자 주입을 권장하는 이유.답테스트 시 mock을 생성자로 넣기 쉬움final로 필수 의존성 명시·불변 유지의존성 누락 시 객체 생성 시점에 바로 실패Q3. 301 vs 302문제HTTP 301 / 302 차이.답301: 영구 리다이렉트 (URL이 완전히 바뀜)302: 임시 리다이렉트 (지금은 ..