Spring Boot 면접 질문
작성자 Aaron Cao · 업데이트

자동 구성과 스타터, 의존성 주입과 빈 스코프, 프로파일과 외부 설정, Spring Data JPA, REST 컨트롤러와 예외 처리, 테스트 슬라이스, 그리고 Actuator에 관한 질문을 예상하세요. 시니어급 면접에서는 트랜잭션 경계, 캐싱, 재시작 전후로 서비스가 어떻게 동작하는지가 추가됩니다.
면접관은 자동 구성과 스타터에 대해 무엇을 묻나요?
Spring Boot를 매일 사용하면서도 시작 로그를 읽어본 적은 없을 수 있습니다. 면접관도 이 점을 알고 있기 때문에 여기서부터 질문을 시작합니다. 이 섹션은 프레임워크를 실제로 이해하고 있는지, 아니면 기본값만 알고 있는지를 확인하는 질문들을 다룹니다.
@SpringBootApplication은 실제로 무엇을 결합하며, 그중 하나를 제거하면 무엇이 깨지나요?- 자동 구성은 무엇을 구성할지 어떻게 결정하며, 조건부 애너테이션은 어떤 역할을 하나요?
- 스타터란 무엇이며, 의존성 외에 그 안에는 무엇이 들어 있나요?
- 특정 자동 구성을 재정의하거나 비활성화하려면 어떻게 하나요?
- 내장 서버는 어디서 오며, 어떻게 교체할 수 있나요?
좋은 답변은 그 메커니즘을 실제 경험과 연결합니다. 제외해야 했던 빈, 교체했던 스타터, 조건 평가 리포트를 통해 추적했던 기동 실패 같은 것들입니다.
핵심 컨테이너와 데이터에 관해서는 어떤 질문이 나오나요?
- 의존성 주입. 생성자 주입과 필드 주입의 차이, 왜 생성자 주입이 선호되는지, 그리고 같은 타입의 후보 빈이 둘 있을 때 이를 해결하는 방법.
- 빈 생명주기와 스코프. 왜 싱글턴이 기본값인지, request나 prototype 스코프가 적절한 경우는 언제인지, 그리고 무엇이 싱글턴 빈을 공유할 때 안전하지 않게 만드는지.
- 설정. 프로퍼티 우선순위, 환경별 프로파일, 그리고
@ConfigurationProperties와 흩어진 값 주입 방식의 차이. - Spring Data JPA. 파생 쿼리 메서드, N 더하기 1 문제, 지연 페치와 즉시 페치의 차이, 그리고 네이티브 쿼리로 전환해야 하는 시점.
- 트랜잭션.
@Transactional프록시가 실제로 가로채는 것은 무엇인지, 왜 자기 자신을 호출하면 트랜잭션이 조용히 건너뛰어지는지, 그리고 롤백 규칙이 체크 예외와 어떻게 맞물려 동작하는지.
트랜잭션 프록시 질문은 자신 있게 답하던 사람도 가장 흔히 무너지는 지점입니다. 그러니 애너테이션 이름만 말하지 말고 프록시 경계를 설명할 수 있도록 준비하세요.
REST 설계, 테스트, 운영에 대해서는 어떻게 이야기하나요?
컨테이너를 넘어서, 면접관은 실제 프로덕션에서 드러나는 부분도 보고 싶어 합니다. 웹 레이어에서는 상태 코드 선택, 유효성 검증, 그리고 모든 컨트롤러마다 try-catch를 쓰는 대신 @ControllerAdvice로 중앙집중식 오류 처리를 하는지입니다. 테스트에서는 전체 @SpringBootTest와 웹 레이어 테스트 같은 슬라이스 테스트의 차이, 그리고 컨트롤러 테스트 하나를 위해 전체 컨텍스트를 기동하는 것이 왜 느린 습관인지입니다. 운영에서는 Actuator가 무엇을 노출하는지, 어떤 엔드포인트를 공개하면 안 되는지, 그리고 헬스 체크가 배포에 어떻게 반영되는지입니다.
물류 회사의 미드레벨 포지션에 지원한 백엔드 엔지니어를 생각해 봅시다. 그녀는 예약된 작업이 가끔 데이터를 일부만 기록하는 이유를 질문받았습니다. 추측하는 대신 그녀는 트랜잭션 경계를 차근차근 짚어가며, 그 작업이 자기 자신의 트랜잭션 메서드를 호출했다는 점을 지적하고, 그로 인해 호출이 건너뛰어진 프록시의 동작을 설명했습니다. 면접관은 곧바로 오퍼 이야기로 넘어갔습니다. 그 답변이 암기한 정의가 아니라 디버깅 습관을 보여주었기 때문입니다.
다른 언어와 프레임워크의 문제 모음은 question banks에 정리되어 있습니다.
어떻게 연습해야 하며, 실시간 어시스턴트는 어디에 도움이 되나요?
자신이 담당하는 서비스의 시작 로그를 한 번 끝까지 읽고, 그것을 설명할 수 있도록 하세요. 그런 다음 소리 내어 연습하세요. 개념을 아는 것과 그것을 사십 초 안에 설명하는 것 사이의 간극에서 이런 면접의 승패가 갈리기 때문입니다. /mock-interview 페이지의 AI 면접관은 스스로는 떠올리지 못했을 후속 질문을 던져 줍니다.
음성으로 진행되는 화상 면접 동안 SubcueAI는 면접관의 질문을 받아 적고, 당신 쪽 화면에 제안된 답변 구조를 macOS와 Windows에서는 데스크톱 오버레이로, Chromium 브라우저 확장 프로그램에서는 사이드 패널로 보여줍니다. 회의에 봇이 참여하지 않으며, 회의 페이지에는 아무것도 주입되지 않습니다. 솔직히 말하면 코딩 라운드에는 한계가 있습니다. 화면 감시나 프록터링이 있는 플랫폼으로 넘어가면 실시간 도움은 범위 밖이며, 화면을 공유하면 그 위에 있는 모든 것이 보이게 됩니다.