면접 CS 정리 Day 27 (풀스택 / Java·Spring·React)
Q1. orElse vs orElseGet
문제
차이? 언제 기본값이 만들어지나?
답
orElse(x): 값이 있어도x를 항상 평가·생성orElseGet(() -> x): Optional이 비어 있을 때만 supplier 실행
기본값 생성이 비싸면 orElseGet.
Q2. yml vs properties
문제
기능 차이? yml을 많이 쓰는 이유.
답
Spring Boot에서 기능은 동일, 문법·가독성 차이.
- yml: 계층·들여쓰기 → 짧고 직관적
- properties: 키를 매번 풀네임으로 → 길어짐
Q3. ROW_NUMBER()
문제
뭔지? GROUP BY와 차이.
답
파티션 안 행에 순번을 붙이는 윈도우 함수.GROUP BY는 행을 줄이고, 윈도우 함수는 행을 유지한 채 컬럼 추가.
유저별 최신 1건 (rn = 1) 등에 사용.
Q4. Idempotency-Key
문제
뭔지? 같은 키로 POST 2번이면?
답
요청에 붙이는 멱등 키.
같은 키면 재생성하지 않고 첫 결과와 같은 응답.
POST 기본은 비멱등 → 키(+ UNIQUE)로 중복 생성 방지.
Q5. React.lazy + Suspense
문제
코드 스플리팅 이유? 첫 로딩.
답
필요한 시점에 JS 청크를 로드.
초기 번들↓ → 첫 로딩 가벼움. 로딩 중은 Suspense fallback.
Q6. orElse / orElseGet (복습)
문제
값이 있어도 실행되는 쪽.
답orElse = 항상 / orElseGet = 비어 있을 때만.
Q7. 커버링 인덱스 (복습)
문제
한 줄. 테이블을 왜 안 보나?
답
그 쿼리에 필요한 컬럼이 인덱스에 전부 있어 인덱스만으로 결과 생성.
테이블 전체 컬럼을 인덱스로 잡으라는 뜻이 아님.
오늘 한 줄 암기
- orElse 항상 평가 / orElseGet 없을 때만
- yml·properties = 기능 동일, 가독성 차이
- ROW_NUMBER = 행 유지 + 순번
- Idempotency-Key = 같은 키·같은 결과
- 커버링 = 쿼리 필요 컬럼이 인덱스에 다 있음
다음 목표
- 커버링을 “전체 컬럼 인덱스”로 말하지 않기
- orElse / orElseGet 평가 시점 구분
'기타 > CS 질문' 카테고리의 다른 글
| # 면접 CS 정리 Day 29 (풀스택 / Java·Spring·React) (0) | 2026.09.21 |
|---|---|
| # 면접 CS 정리 Day 28 (풀스택 / Java·Spring·React) (0) | 2026.09.18 |
| # 면접 CS 정리 Day 26 (풀스택 / Java·Spring·React) (0) | 2026.09.16 |
| # 면접 CS 정리 Day 25 (풀스택 / Java·Spring·React) (0) | 2026.09.15 |
| # 면접 CS 정리 Day 23 (풀스택 / Java·Spring·React) (0) | 2026.09.09 |