본문으로 바로가기
말로뷰 면접 노트 · 기술·프로젝트

코딩테스트 복기 면접: 정답 코드보다 풀이의 판단을 설명하기

코딩 면접에서 문제 조건, 자료구조 선택, 정당성, 시간·공간 복잡도와 경계 테스트를 설명하는 순서.

코딩테스트를 통과했어도 풀이를 말로 설명하는 건 다른 연습입니다. 코드를 처음부터 한 줄씩 읽기보다 문제의 조건과 선택한 핵심 아이디어부터 말해 보세요. 그 방법이 왜 맞는지와 어디에서 실패할 수 있는지를 설명하면 코드의 의미가 드러납니다.

문제의 핵심 제약부터

입력 크기와 값의 범위, 중복과 정렬 여부를 먼저 정리하세요. 같은 모양의 문제라도 이 조건에 따라 사용할 방법이 달라집니다. 문제 원문이 비공개라면 면접·시험 규정을 지켜 설명 가능한 범위에서 복기해야 해요.

가장 단순한 방법에서 개선으로

먼저 직관적인 완전탐색이 무엇이고 왜 비용이 큰지 설명하면 개선의 이유가 분명해집니다. 이후 중복 계산을 줄이는지, 탐색 범위를 줄이는지 핵심 한 가지를 말하세요. 알고리즘 이름을 외워 붙이는 것보다 계산을 줄이는 근거가 필요해요.

왜 맞는지를 코드와 분리해서

반복문의 각 단계에서 유지되는 조건이나 선택의 정당성을 말해 보세요. 예제가 맞았다는 것과 모든 입력에서 맞다는 것은 다릅니다. 탐욕적 선택이라면 그 선택이 이후 최적해를 막지 않는 이유를 확인해야 합니다.

테스트는 경계와 실패 가능성 중심으로

빈 입력, 최소·최대 길이, 같은 값, 순서가 반대인 경우를 확인해 보세요. 정수 범위나 인덱스, 방문 처리 시점도 중요합니다. 복잡도는 반복문 모양만 보지 말고 내부 연산 비용과 추가 저장 공간을 포함해서 설명하세요.

내 말로 답하기

이렇게 답해 보세요

“이 풀이를 선택한 이유와 복잡도를 설명해 주세요.”

단순하게는 [방법]으로 풀 수 있지만 [반복 계산] 때문에 비용이 큽니다. 그래서 [핵심 성질]을 이용해 [자료구조·알고리즘]을 선택했어요. 각 단계에서 [유지 조건]이 성립하고, 비용은 [입력 기준의 시간·공간]입니다. [경계 사례]도 확인해야 합니다.
답변 구성을 보여주기 위한 가상 예시예요. 대괄호 안의 내용은 본인의 경험과 실제 역할, 확인한 결과로 바꿔 주세요.

준비 체크리스트

  • 입력 크기와 가정 적기
  • 정답의 이유를 코드 없이 설명하기
  • 반례 세 개와 복잡도 계산 준비하기

핵심 단어만 보고 소리 내어 답한 뒤, 같은 경험을 다른 질문으로 다시 설명해 보세요.

자주 묻는 질문

시간 안에 최적 풀이를 못 찾으면요?

실행 가능한 방법과 병목을 먼저 설명하고 개선 방향을 말하세요. 모르는 해법을 아는 척할 필요는 없습니다.

코드가 기억나지 않으면요?

아이디어와 불변 조건을 먼저 설명하고, 세부 구현은 확인할 부분으로 구분하세요.