면접 CS 정리 Day 30 (풀스택 / Java·Spring·React)
Q1. ConcurrentModificationException
문제
언제 나나? 단일 스레드 for-each 중 remove도?
답
이터레이터(for-each) 순회 중 컬렉션 구조가 바뀌면 발생.
한 스레드라도 ArrayList for-each 중 add/remove하면 날 수 있다 (fail-fast).
삭제: Iterator.remove() / removeIf.
Q2. @ControllerAdvice vs @RestControllerAdvice
문제
차이? API JSON 예외는?
답@RestControllerAdvice = @ControllerAdvice + @ResponseBody
→ 반환이 JSON 등 응답 본문. API는 보통 @RestControllerAdvice.
@Controller vs @RestController와 같은 관계.
Q3. 카디널리티와 인덱스
문제
카디널리티가 낮으면 인덱스가 약한 이유? (성별, Y/N)
답
서로 다른 값이 적어 인덱스로 걸러지는 행이 적음(선택도 낮음).
풀스캔이 나을 수도 있다. PK가 아니라 값의 희소성 문제.
Q4. SameSite 쿠키
문제
Lax / Strict / None. CSRF 완화? None일 때?
답
- Strict / Lax: 크로스 사이트 전송 제한 → CSRF 완화
- None: 크로스 사이트 허용 →
Secure(HTTPS) 필수
Q5. Lifting State Up vs Context
문제
언제 부모로, 언제 Context?
답
가까운 형제 공유 → Lifting State Up.
깊게 props만 넘기는 drilling → Context(또는 상태관리 라이브러리).
Q6. 커버링 인덱스 (복습)
문제
전체 컬럼 vs 쿼리 필요 컬럼.
답
그 쿼리에 필요한 컬럼이 인덱스에 있으면 됨. 테이블 전체 인덱스 아님.
(3번째 시도 합격)
Q7. Integer 캐시 (복습)
문제
100 vs 200 == 차이.
답
캐시 범위 -128~127. 안이면 같은 객체 가능, 밖(200)은 새 객체 → == false.
오늘 한 줄 암기
- CME = 순회 중 수정 (단일 스레드도)
- API 예외 =
@RestControllerAdvice - 낮은 카디널리티 = 인덱스 이득 적음
- SameSite Lax/Strict = CSRF 완화 / None+Secure
- 커버링 = 쿼리 필요 컬럼이 인덱스에
다음 목표
- 커버링·Integer 캐시 범위 유지하기
- 카디널리티를 “PK 여부”가 아니라 선택도로 말하기
'기타 > CS 질문' 카테고리의 다른 글
| # 면접 CS 정리 Day 32 (풀스택 / Java·Spring·React) (0) | 2026.09.30 |
|---|---|
| # 면접 CS 정리 Day 31 (풀스택 / Java·Spring·React) (0) | 2026.09.23 |
| # 면접 CS 정리 Day 29 (풀스택 / Java·Spring·React) (0) | 2026.09.21 |
| # 면접 CS 정리 Day 28 (풀스택 / Java·Spring·React) (0) | 2026.09.18 |
| # 면접 CS 정리 Day 27 (풀스택 / Java·Spring·React) (0) | 2026.09.17 |