개발자 코딩테스트 준비, 백준 골드 찍어도 기술면접에서 떨어지는 진짜 이유
by 그릿 | GROWTH_ESSAY | 2026-10-28
#코딩테스트 #기술면접 #백엔드개발자 코딩테스트 준비를 할 때 많은 분들이 문제 풀이 개수와 티어에 집착합니다. 백준 300문제를 풀고 골드를 달성하면 합격선에 올랐다고 믿습니다. 결론부터 말씀드리면, 테스트 통과를 위한 암기식 풀이는 기술면접에서 첫 번째 꼬리질문 하나로 무너집니다.
면접관이 코딩테스트를 보는 이유는 정답 코드를 외워왔는지 확인하려는 것이 아닙니다. 주어진 제약 조건 속에서 시간 복잡도와 공간 복잡도를 어떻게 저울질했는지, 그 트레이드오프를 논리적으로 설명할 수 있는지를 봅니다.
정답을 맞혔는데 왜 면접에서 떨어질까요?
200명이 넘는 백엔드 멘티들을 인터뷰하면서 흔히 보는 장면이 있습니다. 프로그래머스 레벨 3 문제를 막힘없이 풀어내는 지원자에게 "이 코드에서 메모리를 조금 더 쓰고 실행 시간을 줄이려면 어떻게 바꾸시겠습니까?"라고 물으면 침묵이 흐릅니다.
템플릿처럼 외운 BFS나 투 포인터 알고리즘을 기계적으로 적용했기 때문입니다. 코드는 돌아가지만, 왜 이 자료구조를 선택했는지, N이 100만 건으로 늘어났을 때 GC 압박이나 캐시 미스가 어떻게 발생하는지 설명하지 못합니다. 면접관 입장에서 이는 프로그래밍 실력이 아니라 문제 풀이 요령에 불과합니다.
실무에서는 알고리즘보다 트레이드오프를 묻습니다
현업에서 백엔드 개발자가 마주하는 문제는 백준에 나오는 정형화된 문제가 아닙니다. 대량의 트래픽이 몰렸을 때 DB 조회를 줄이기 위해 메모리를 어디까지 태울 것인가, 정렬을 애플리케이션 메모리에서 할 것인가 DB 인덱스를 태울 것인가의 싸움입니다.
코딩테스트 문제를 풀 때도 마찬가지여야 합니다. 정답 판정을 받았다고 바로 다음 문제로 넘어가지 마십시오. 자신이 짠 코드의 시간 복잡도를 한 줄씩 계산해보고, 다른 방식으로 구현했을 때의 장단점을 정리해야 합니다. 500문제를 대충 푸는 사람보다, 50문제를 풀면서 세 가지 다른 풀이와 제약 조건을 분석한 사람이 기술면접을 압도합니다.
통과하는 코딩테스트 준비의 3단계
코딩테스트를 준비하고 계신다면 오늘부터 풀이 방식을 세 단계로 바꾸십시오.
첫째, 키보드에 손을 올리기 전에 펜으로 시간 복잡도의 상한선부터 적으십시오. 데이터 크기가 10만 개라면 O(N log N) 이하의 알고리즘만 허용된다는 기준을 세우고 출발해야 합니다.
둘째, 정답을 제출한 뒤에는 반드시 메모리와 수행 시간을 줄일 수 있는 대안 코드를 작성해 보십시오.
셋째, 라이브 코딩이나 기술면접을 대비해 자신이 왜 이 자료구조를 골랐는지 소리 내어 3분 동안 설명하는 연습을 하십시오.
코딩테스트는 채점 시스템과의 싸움이 아니라, 코드를 함께 읽을 동료와의 대화입니다. 지금 나의 학습 방향이 서류와 면접까지 제대로 이어지고 있는지 점검이 필요하다면 https://teamgrit.co/direction 에서 현재 상태를 진단해 보셔도 좋습니다.