면접 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: 임시 리다이렉트 (지금은 다른 곳, 원래 URL 유지)
Q4. 인덱스 과다
문제
인덱스를 너무 많이 만들면 단점 2개.
답
- 용량 증가
- 쓰기(INSERT/UPDATE/DELETE) 느려짐 — 인덱스도 같이 갱신
자주 쓰는 조회 조건 위주로만 만든다.
Q5. React key
문제key가 왜 필요한지? index를 key로 쓰면?
답
리스트에서 React가 항목을 구분하려고 쓰는 특별 prop.
일반 props(부모→자식 전달)와는 다름.
index key는 삽입·삭제·순서 변경 시 항목을 잘못 매칭할 수 있어 고유 id를 쓴다.
Q6. REST stateless
문제
stateless 한 줄. 세션 vs JWT.
답
서버가 요청 사이에 클라이언트 상태를 기억하지 않음.
- 세션: 서버에 사용자 상태 저장 → stateful에 가깝다
- JWT: 클라이언트가 토큰 보유, 서버는 검증 → stateless에 잘 맞음
Q7. REQUIRED vs REQUIRES_NEW
문제
트랜잭션이 이미 있을 때.
답
REQUIRED: 있으면 참여, 없으면 생성REQUIRES_NEW: 항상 새 트랜잭션
철자: REQUIRES_NEW (REQUIRED_NEW 아님).
오늘 한 줄 암기
- HashMap = null OK·동기화 X / Hashtable = 레거시
- 생성자 주입 = mock·final·조기 실패
- 301 영구 / 302 임시
- 인덱스 과다 = 용량↑ + 쓰기↓
- key = 리스트 항목 구분 (고유 id)
다음 목표
key를 일반 props랑 섞지 않기REQUIRES_NEW철자 정확히
'기타 > CS 질문' 카테고리의 다른 글
| # 면접 CS 정리 Day 16 (풀스택 / Java·Spring·React) (0) | 2026.08.28 |
|---|---|
| # 면접 CS 정리 Day 15 (풀스택 / Java·Spring·React) (0) | 2026.08.27 |
| # 면접 CS 정리 Day 13 (풀스택 / Java·Spring·React) (0) | 2026.08.24 |
| # 면접 CS 정리 Day 12 (풀스택 / Java·Spring·React) (0) | 2026.08.19 |
| # 면접 CS 정리 Day 11 (풀스택 / Java·Spring·React) (0) | 2026.08.18 |
