면접 CS 정리 Day 4 (풀스택 / Java·Spring·React)
Q1. HTTP 멱등성
문제
HTTP에서 멱등(idempotent)이 뭔지?GET / PUT / POST / DELETE 중 멱등인 것과 아닌 것은?
답
멱등 = 같은 요청을 여러 번 해도 결과가 한 번 한 것과 같음.
GET: 멱등 O (조회만)PUT: 멱등 O (같은 내용으로 덮어쓰기)DELETE: 멱등 O (보통, 지웠으면 또 지워도 없는 상태)POST: 멱등 X (호출할 때마다 새로 생성될 수 있음)
Q2. 쿠키 HttpOnly / Secure
문제
쿠키의 HttpOnly랑 Secure 옵션이 각각 뭐 하는 건지?
답
HttpOnly: JS에서 쿠키 읽기 불가 → XSS로 세션 탈취 어렵게Secure: HTTPS에서만 쿠키 전송 → 평문 HTTP 도청 방지
인증/세션 쿠키에 자주 같이 붙인다.
(보너스: SameSite는 CSRF 완화)
Q3. Filter vs Interceptor
문제Filter vs Interceptor 한 줄씩 차이 + 인증은 보통 어디에?
답
- Filter: 서블릿 단 (
DispatcherServlet앞) - Interceptor: Spring MVC (컨트롤러 전후)
- 인증: Spring Security → Filter
css/js로 외우지 말고 서블릿 vs MVC로 구분한다.
Q4. @Transactional + this 호출
문제@Transactional 메서드를 같은 클래스에서 this.xxx()로 호출하면
왜 트랜잭션이 안 먹을 수 있나?
답
트랜잭션은 프록시가 호출을 가로챌 때 적용된다.this.xxx()는 프록시를 안 지나서 @Transactional이 적용되지 않을 수 있다.
해결: 트랜잭션 메서드를 다른 Bean으로 나눠 주입받아 호출.
Q5. ArrayList vs LinkedList
문제ArrayList vs LinkedList 언제 뭘 쓰고,
실무에서 LinkedList를 잘 안 쓰는 이유는?
답
ArrayList: 배열 기반, 인덱스 접근 빠름. 실무 기본LinkedList: 노드 연결, 중간 삽입/삭제 자체는 싸 보여도
위치 찾기가 O(n)이고 캐시 지역성도 불리해서 잘 안 씀
둘 다 순서는 보장한다. 순서가 없어서 LinkedList를 안 쓰는 게 아니다.
Q6. SSR vs CSR
문제
SSR이랑 CSR 차이 한 줄, 각각 장점 한 줄.
답
- SSR (Server-Side Rendering): 서버에서 HTML 생성
→ 첫 화면·SEO에 유리 - CSR (Client-Side Rendering): 브라우저에서 JS로 렌더링
→ 화면 전환이 부드러움
SSR = 무조건 새로고침은 아니다. Next.js는 SSR과 CSR을 섞어 쓸 수 있다.
Q7. Connection Pool
문제
Connection Pool이 뭔지, 왜 요청마다 DB Connection을 새로 안 만드는지?
답
미리 DB 연결을 여러 개 만들어 두고, 요청 때 빌려 쓰고 반납하는 방식.
Connection 생성(TCP·인증) 비용이 커서 매번 만들면 느리고 DB 부하가 크다.
요청이 끝날 때 DB를 끊는 게 아니라 풀에 반납한다.
예: HikariCP (Spring Boot 기본)
오늘 한 줄 암기
- 멱등: GET·PUT·DELETE O / POST X
- HttpOnly = JS 차단 / Secure = HTTPS만
- 인증 = Filter,
this호출 = 트랜잭션 프록시 우회 - 실무 List 기본 = ArrayList
- Connection Pool = 빌려 쓰고 반납
다음 목표
- 멱등성 + POST 재시도(중복) 방지까지 연결해서 말하기
- LinkedList “순서 없음” 오해 교정 복습
'기타 > CS 질문' 카테고리의 다른 글
| # 면접 CS 정리 Day 6 (풀스택 / Java·Spring·React) (0) | 2026.08.10 |
|---|---|
| # 면접 CS 정리 Day 5 (풀스택 / Java·Spring·React) (1) | 2026.08.05 |
| # 면접 CS 정리 Day 3 (풀스택 / Java·Spring·React) (0) | 2026.07.31 |
| # 면접 CS 정리 Day 2 (풀스택 / Java·Spring·React) (0) | 2026.07.30 |
| # 면접 CS 정리 Day 1 (풀스택 / Java·Spring·React) (0) | 2026.07.29 |
