면접 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= 그 규칙으로 검증 실행 트리거
컨트롤러에서 @RequestBody 바인딩 시점에 검증.
실패 시 보통 400 Bad Request (MethodArgumentNotValidException).
Q3. 502 vs 504
문제502 Bad Gateway / 504 Gateway Timeout 차이.
답
502: 게이트웨이가 뒤 서버에서 정상 응답을 못 받음504: 뒤 서버가 시간 내에 응답을 안 줌 (타임아웃)
둘 다 앞단 프록시는 살아 있고 뒤 서버가 문제.
Q4. UNION vs UNION ALL
문제
중복 행 처리 기준 차이.
답
UNION: 중복 제거 후 합침UNION ALL: 중복 그대로 합침 (더 빠름)
중복 허용·없으면 UNION ALL 선호.
Q5. Reverse Proxy
문제
역방향 프록시가 뭔지, nginx가 Spring Boot 앞에 있을 때 역할 2개.
답
클라이언트는 nginx만 보고, nginx가 뒤 서버로 요청을 넘김.
역할 예:
- 리버스 프록시/라우팅 — URL에 맞는 백엔드로 전달
- 정적 파일(css/js) — WAS 안 거치고 nginx가 직접 서빙
보너스: SSL 종료, 로드밸런싱.
Q6. pass by value (복습)
문제
객체 넘길 때 실제로 넘어가는 것 + setName vs new User() 중 원본이 바뀌는 것.
답
참조(주소) 값이 복사된다.
param.setName("x")→ 원본 객체 내용 바뀜param = new User()→ 원본 변수는 그대로
Q7. ACID (복습)
문제
A / C / I / D 각각 한 글자 의미.
답
- A Atomicity: 원자성
- C Consistency: 일관성
- I Isolation: 격리성
- D Durability: 영속성 (의존성 아님)
오늘 한 줄 암기
- Comparable = 클래스 안 / Comparator = 바깥
@Valid= DTO 바인딩 시 자동 검증- 502 = 뒤 응답 실패 / 504 = 뒤 타임아웃
- UNION = 중복 제거 / UNION ALL = 중복 유지
- setName = 원본 바뀜 / new = 참조만 바뀜
다음 목표
- UNION / UNION ALL 중복 처리 방향 헷갈리지 않기
- pass by value에서
setNamevsnew구분 말하기
'기타 > CS 질문' 카테고리의 다른 글
| # 면접 CS 정리 Day 18 (풀스택 / Java·Spring·React) (0) | 2026.09.01 |
|---|---|
| # 면접 CS 정리 Day 16 (풀스택 / Java·Spring·React) (0) | 2026.08.28 |
| # 면접 CS 정리 Day 15 (풀스택 / Java·Spring·React) (0) | 2026.08.27 |
| # 면접 CS 정리 Day 14 (풀스택 / Java·Spring·React) (0) | 2026.08.25 |
| # 면접 CS 정리 Day 13 (풀스택 / Java·Spring·React) (0) | 2026.08.24 |
