면접 CS 정리 Day 28 (풀스택 / Java·Spring·React)
Q1. Stream 중간 / 최종 연산
문제
차이? filter/map은? 실제 처리는 언제?
답
- 중간 연산:
filter,map,sorted— Stream 반환, lazy - 최종 연산:
collect,forEach,count— 결과 확정, Stream 종료
실제 처리는 최종 연산 호출 시 시작. filter/map만 있으면 실행 안 함.
Q2. REQUIRES_NEW + 바깥 롤백
문제
바깥이 롤백되면 안쪽(REQUIRES_NEW)은?
답REQUIRES_NEW는 별도 트랜잭션.
안쪽이 이미 커밋됐으면 바깥 롤백과 무관하게 남는다.
로그 저장 등 “본업무 실패해도 기록 유지”에 사용.
Q3. Using filesort
문제
EXPLAIN에 보이면? ORDER BY와 인덱스.
답
인덱스로 정렬을 못 해서 추가 정렬이 발생했다는 신호.ORDER BY가 인덱스와 안 맞을 때 의심 → 정렬용 인덱스 검토.
Q4. CSRF 토큰
문제
동작 방식? 공격자 사이트 요청이 실패하는 이유.
답
서버가 예측 불가 토큰을 내려주고, 정상 요청만 토큰을 포함.
공격자 사이트는 토큰을 몰라 쿠키만으로는 통과 못 함.
CSRF 공격 = 로그인 사용자로 원치 않는 요청을 보냄.
Q5. key = index 위험
문제
정렬·삽입·삭제가 잦을 때.
답
index key면 순서 변경 시 다른 항목에 state가 잘못 재사용될 수 있다.
고유 id를 key로 쓴다.
Q6. Stream lazy (복습)
문제
filter/map만 하고 collect 없으면?
답
실제 처리 안 함. 최종 연산이 있어야 실행.
Q7. REQUIRES_NEW (복습)
문제
안쪽 커밋 후 바깥 롤백.
답
안쪽 데이터는 남는다.
오늘 한 줄 암기
- Stream = 중간 lazy / 최종에서 실행
- REQUIRES_NEW 커밋분 = 바깥 롤백과 분리
- Using filesort = 추가 정렬 (ORDER BY·인덱스)
- CSRF 토큰 = 쿠키만으로 부족
- 리스트 key = id (index 주의)
다음 목표
- REQUIRES_NEW를 “새로 생성”만이 아니라 롤백 분리까지 말하기
- Stream lazy를 한 줄로 설명하기
'기타 > CS 질문' 카테고리의 다른 글
| # 면접 CS 정리 Day 30 (풀스택 / Java·Spring·React) (0) | 2026.09.22 |
|---|---|
| # 면접 CS 정리 Day 29 (풀스택 / Java·Spring·React) (0) | 2026.09.21 |
| # 면접 CS 정리 Day 27 (풀스택 / Java·Spring·React) (0) | 2026.09.17 |
| # 면접 CS 정리 Day 26 (풀스택 / Java·Spring·React) (0) | 2026.09.16 |
| # 면접 CS 정리 Day 25 (풀스택 / Java·Spring·React) (0) | 2026.09.15 |