백엔드 개발자 기술면접, 내가 쓴 커밋으로 대비하기

백엔드 개발자 기술면접은 «무엇을 만들었는가»보다 «왜 그렇게 만들었는가»에서 갈립니다. CRUD 하나에도 트랜잭션 경계를 어디에 뒀는지, 실패하면 무엇이 남는지, 동시에 두 요청이 들어오면 어떻게 되는지가 전부 질문거리입니다. 이 페이지는 백엔드 면접에서 반복적으로 나오는 조준점을 정리하고, 데브핏(DevFit)이 이용자 본인의 깃허브 커밋에서 그 질문을 어떻게 만들어 내는지 설명합니다.

백엔드 면접에서 면접관이 파고드는 지점

트랜잭션 경계를 어디에 뒀는가

서비스 메서드 하나에 트랜잭션을 통째로 걸었는지, 외부 API 호출이 트랜잭션 안에 들어가 있는지가 자주 걸립니다. 커밋에 `@Transactional`이나 커밋/롤백 처리가 보이면 «이 경계 밖에서 실패하면 데이터가 어떤 상태로 남나요»가 바로 따라옵니다.

N+1과 인덱스를 알고 짰는가

반복문 안의 조회, 지연 로딩, `WHERE` 절에 걸리지 않는 컬럼. 쿼리를 고친 커밋이 있으면 «고치기 전에는 몇 번 나갔고, 어떻게 확인했나요»가 나옵니다. 실행 계획을 본 적 있는지가 그대로 드러나는 구간입니다.

동시성과 멱등성을 다뤄 봤는가

재시도되는 요청, 중복 결제, 재고 차감. 락을 걸었다면 어떤 락인지, 안 걸었다면 왜 괜찮다고 판단했는지를 묻습니다. 큐·워커 코드가 있으면 «같은 작업을 두 워커가 집으면요»가 거의 확정 질문입니다.

실패를 어떻게 다뤘는가

예외를 삼켰는지, 어떤 상태 코드로 바꿔 내보내는지, 재시도에 백오프가 있는지. try-catch 블록 하나가 «여기서 예외가 나면 호출자는 뭘 보게 되나요»로 이어집니다.

API를 설계로 다뤘는가

엔드포인트 이름, 상태 코드 선택, 페이지네이션 방식, 버저닝. 컨트롤러 커밋은 «이 응답 형태를 고른 이유»를 묻기 좋은 자리입니다.

내 커밋에서 나올 수 있는 질문

아래는 백엔드 코드에서 자주 만들어지는 형태의 질문입니다. 데브핏(DevFit)은 레포지토리 전체가 아니라 이용자 본인이 작성한 커밋과 diff만 조준해, 질문마다 근거가 되는 커밋·파일 경로를 함께 붙입니다.

  • “이 메서드에 트랜잭션을 건 이유가 뭔가요? 외부 호출이 안에 있는데 롤백이 되나요?”
  • “이 조회가 반복문 안에 있는데 쿼리가 몇 번 나가나요? 어떻게 확인하셨어요?”
  • “같은 요청이 두 번 들어오면 어떻게 되나요? 멱등하게 만든 지점이 있나요?”
  • “이 예외를 여기서 잡은 이유는요? 호출한 쪽은 실패를 어떻게 알게 되나요?”
  • “이 인덱스를 추가한 커밋이 있는데, 추가 전후로 뭘 비교하셨나요?”

코드에 “없는 것”도 질문이 됩니다

면접에서는 짠 것만큼 안 짠 것도 물어봅니다. 데브핏은 아래 같은 부재 신호를 결정론적으로 찾아 질문으로 만듭니다.

  • 테스트 코드 없이 비즈니스 로직만 커밋된 구간 → «이 로직이 맞다는 건 어떻게 확인하셨어요?»
  • 설정 파일에 접속 정보가 그대로 들어간 커밋 → «운영에서는 이 값을 어떻게 주입하나요?»
  • 마이그레이션 없이 엔티티만 바뀐 커밋 → «스키마 변경은 어떤 순서로 배포하나요?»

자주 다루는 기술

  • Spring
  • Node.js
  • JPA
  • PostgreSQL
  • Redis
  • Kafka
  • REST
  • gRPC

다만 질문은 기술 이름에서 나오지 않습니다. 같은 Spring를 써도 커밋마다 고른 선택이 다르고, 면접관이 파고드는 건 그 선택입니다. 그래서 데브핏은 기술 스택별 표준 질문지가 아니라, 겨냥한 채용공고 1건과 내 깃허브(GitHub) 커밋을 함께 읽어서 질문을 만듭니다.

백엔드 공고 하나로 시작해 보세요

채용공고 URL을 붙여 넣으면 포지션과 요구 사항을 정리하고, 연결한 레포지토리에서 내가 쓴 커밋을 찾아 예상 질문과 어필 포인트를 만듭니다. 공고 1개가 준비 1회분입니다. 하루 10회까지 무료입니다. 합불 판정이나 지원자 랭킹은 만들지 않고, 최종 판단은 사람이 합니다.

공고 넣고 시작하기

백엔드 면접에서 함께 나오는 CS 개념

커밋에서 나온 질문은 대부분 개념 질문으로 이어집니다. 아래 문서는 백엔드 면접에서 그 다음 질문으로 자주 넘어가는 주제입니다.

CS 지식백과 전체 보기 →