본문 바로가기
개발자/연봉 이직

개발자 이직 면접, 기술 면접에서 떨어진 이유들

by 나무011 2026. 7. 1.
이직 면접 기술 면접 탈락 경험담 ⏱ 읽는 시간 약 10분

네 번 떨어지고 알게 된
기술 면접 탈락의 패턴

실력이 부족해서 탈락한 게 아니었다. 면접 방식 자체가 문제였다는 걸 세 번째 탈락에서야 깨달았다

이직을 결심하고 처음 면접을 본 건 현 직장 2년 차 때였다. 준비를 안 한 건 아니었다. 알고리즘 문제를 풀었고, 기술 스택도 정리했다. "이 정도면 됐겠지" 하는 자신감으로 들어갔다가 1차에서 잘렸다.

두 번째도 탈락. 세 번째도. 네 번째도. 다섯 번째에서야 합격이 났다. 탈락이 반복되면서 패턴이 보이기 시작했다. 매번 다른 회사, 다른 면접관, 다른 질문이었는데 내가 막히는 포인트는 놀랍도록 비슷했다.

이 글은 그 네 번의 탈락에서 발견한 공통 이유들을 있는 그대로 정리한 것이다. 면접관이 나쁘다거나, 운이 나빴다는 이야기가 아니다. 전부 내 문제였다.

개발자 이직 면접
개발자 이직 면접
4번
합격 전까지
탈락한 횟수
6개
파악한
탈락 패턴
3개월
준비 방식 바꾸고
합격까지 걸린 시간
5번째
최종 합격
도전 횟수
 

탈락 이유 6가지 — 솔직하게

01
REASON 01
라이브 코딩에서 침묵했다
혼자 문제 풀 때는 30분이면 됐다. 면접관 앞에서는 10분 동안 화면만 바라봤다. 손이 굳었다. 코드를 어떻게 시작해야 할지 아는데 타이핑이 안 됐다. 면접관이 "어떻게 접근하실 건가요?"라고 물었을 때 "잠깐 생각해볼게요"를 세 번 반복했다. 결국 미완성으로 제출했다.

문제는 실력이 아니었다. 라이브 코딩을 한 번도 연습해보지 않았던 것이었다. 혼자 코딩과 말하면서 코딩은 완전히 다른 근육이다.
면접관 질문
두 배열에서 공통 원소를 찾는 함수를 작성해주세요.
❌ 내 반응 (당시)
(10분간 침묵) "음... 일단 이중 루프로 하면..." (손이 안 움직임) "잠깐, 다른 방법도 있을 것 같아서요..."
✅ 해야 했던 것
"일단 O(n²) 브루트포스부터 짜겠습니다. 그다음 Set을 이용해서 O(n)으로 최적화할 수 있는데, 순서대로 보여드릴게요." — 생각을 소리 내어 말하며 단계적으로 접근
원인: 라이브 코딩 연습 부족
02
REASON 02
CS 기초를 "안다"고 착각했다
이벤트 루프, 프로토타입 체인, 클로저. 다 알고 있다고 생각했다. 그런데 면접관이 "클로저가 뭔지 예시 코드와 함께 설명해주세요"라고 하는 순간 머릿속에서 개념이 흩어졌다. 이론으로는 알지만 코드로 바로 꺼내는 게 안 됐다. 특히 꼬리 질문이 이어지면 두 번째 질문부터 막혔다.
면접관 질문
클로저가 발생하는 상황을 코드로 보여주시고, 메모리 관점에서 설명해주세요.
❌ 내 대답 (당시)
"클로저는 함수가 외부 변수에 접근하는 건데요... 예시는 음... counter 함수 같은 게 있고..." (코드를 못 씀)
✅ 나중에 다듬은 대답
직접 코드를 타이핑하며: "makeCounter 함수가 반환하는 함수가 count 변수를 참조합니다. 이 count는 외부 스코프에 있지만 내부 함수가 참조를 유지하므로 GC 대상이 되지 않습니다. 이게 메모리 누수의 원인이 될 수 있는 이유입니다."
원인: 개념을 코드로 즉시 구현하는 연습 부족
03
REASON 03
"왜 이직하려고 하세요?"를 준비 안 했다
기술 질문만 준비했다. 인성 질문은 "그냥 말하면 되겠지"라고 생각했다. 가장 많이 나오는 질문인 "이직 이유"에서 당황했다. 솔직한 이유는 "전 팀장이 너무 힘들어서"였는데, 그걸 그대로 말할 수 없었다. 준비 없이 말하다 보니 앞뒤가 맞지 않는 대답이 나왔다. 2차 면접에서 탈락한 한 곳은 이 질문이 결정적이었을 것이라고 지금도 생각한다.
면접관 질문
현재 회사에서 2년 다니셨는데, 이직을 결심한 이유가 뭔가요?
❌ 내 대답 (당시)
"음... 성장이 필요한 것 같고... 새로운 환경을 원하기도 하고... 뭔가 더 도전하고 싶어서요." (추상적이고 두루뭉술함)
✅ 나중에 정리한 대답
"현 직장에서 Next.js 기반 서비스 두 개를 처음부터 만들어봤습니다. 그 과정에서 설계 결정에 참여하고 싶다는 욕구가 생겼는데, 팀 구조상 그 역할이 제한적이었어요. 더 능동적으로 기여할 수 있는 환경을 찾고 있습니다."
원인: 인성 질문 준비를 기술 질문의 10분의 1도 안 함
04
REASON 04
시스템 설계 질문에 개념이 없었다
경력 면접에서 시스템 설계 질문이 나왔다. "URL 단축 서비스를 설계해보세요." 신입 때는 없던 유형이었다. 무슨 말을 해야 할지 몰랐다. 데이터베이스 선택 기준, 스케일링 전략, 캐싱 레이어. 실무에서 이런 결정을 해본 적이 없었고, 개념을 공부해본 적도 없었다. 프론트엔드 개발자니까 시스템 설계는 안 물어볼 거라 예상한 게 틀렸다.
면접관 질문
하루 1억 건 요청을 처리하는 피드 페이지를 설계한다면 어떻게 접근하시겠어요?
❌ 내 대답 (당시)
"서버가 여러 대 있으면 될 것 같고... CDN 같은 것도 쓰고... 데이터베이스 최적화도 하고..." (두루뭉술, 구체성 없음)
✅ 공부 후 정리한 접근
요구사항 명확화 → 규모 추정(DAU, QPS 계산) → 단일 서버부터 시작해 병목 지점 파악 → 로드 밸런서 → DB 읽기 복제 → Redis 캐싱 → CDN. 순서와 이유를 함께 설명하는 방식
원인: "프론트는 시스템 설계 안 물어보겠지" 오판
05
REASON 05
내 코드인데 설명을 못 했다
포트폴리오 프로젝트 코드를 가져갔다. 면접관이 특정 부분을 짚으며 "왜 여기서 useCallback을 쓰셨나요?"라고 물었다. 솔직히 말하면 그냥 쓰는 줄 알아서 썼다. 무한 루프를 막기 위해서라고 얼버무렸는데, 면접관이 "구체적으로 어떤 상황에서 useCallback이 필요하고, 언제 쓰면 안 되는지 설명해주실 수 있나요?"라고 이어질 때 완전히 막혔다.
면접관 질문
이 컴포넌트에서 useMemo 대신 useCallback을 선택하신 기준이 있나요?
❌ 내 대답 (당시)
"함수를 메모이제이션할 때 useCallback을 쓰고... 값을 메모이제이션할 때 useMemo를 쓰는 거라서요..." (기준이 없는 암기)
✅ 나중에 이해한 것
"이 함수를 자식 컴포넌트의 props로 전달하기 때문에 useCallback을 썼습니다. 자식이 React.memo로 감싸져 있어서 함수 레퍼런스가 바뀌면 불필요한 리렌더링이 발생하거든요. 단순히 컴포넌트 내부에서만 쓰는 함수라면 useCallback은 오히려 비용이 더 큽니다."
원인: 코드를 쓸 줄 알지만 이유를 모르는 채로 사용
06
REASON 06
지원 회사를 제대로 안 알아봤다
"저희 서비스 써보셨나요?"라는 질문에 "아, 한 번 봤는데요"라고 대답했다. 면접관 표정이 굳었다. 이 회사가 어떤 기술 스택을 쓰는지, 어떤 서비스를 만드는지, 최근 기술 블로그에 어떤 글을 올렸는지 하나도 몰랐다. 지원서만 넣고 면접장에 온 것이었다. 회사 입장에서는 "우리 회사에 관심이 없다"는 신호로 읽혔을 것이다.
면접관 질문
저희 회사에 지원하신 이유가 있으신가요? 저희 서비스 사용해보셨어요?
❌ 내 대답 (당시)
"네, 좋은 회사인 것 같고... 성장하는 스타트업이어서요... 개발 문화가 좋다고 들었습니다." (구체성 0)
✅ 합격한 회사에서 한 대답
"지난달 올리신 기술 블로그 글 읽었습니다. Next.js 서버 컴포넌트 전환 과정에서 번들 사이즈를 40% 줄이셨다고 하셨는데, 저도 비슷한 작업을 하면서 레이아웃 중첩 문제로 고생했어서 관심이 생겼습니다."
원인: 면접 준비 = 기술 공부라는 착각. 회사 리서치 0시간
 

준비 방식을 어떻게 바꿨나

4번 탈락 후 준비 방식을 처음부터 다시 짰다. 기술 공부를 더 하는 게 아니라, 면접이라는 상황 자체를 따로 연습하는 방향으로 바꿨다.

❌ 탈락 시절 준비 방식
하루 3시간 알고리즘 문제 풀기
기술 개념 문서 읽고 정리
포트폴리오 기능 추가
면접 전날 개념 벼락치기

말로 설명해본 적 없음
라이브 코딩 연습 없음
인성 질문 준비 없음
회사 리서치 10분
✅ 합격한 준비 방식
주 3회 스터디 모의 면접
개념 공부 후 반드시 말로 설명
"왜 썼는지" 기준으로 코드 복습
자주 나오는 인성 질문 스크립트

화면 녹화하며 혼자 라이브 코딩
지원 회사 기술 블로그 5편 이상
서비스 직접 사용해보고 후기 메모
이직 이유 3가지 버전 준비
 

이직 면접 준비 체크리스트

📋 면접 전 반드시 확인할 것들
라이브 코딩 연습 최소 10회 — 화면 녹화하며 혼자서, 또는 스터디에서. 말하면서 코딩하는 게 익숙해질 때까지
내 코드의 모든 기술 선택에 "왜?"를 달기 — 포트폴리오 코드를 면접관이 어느 줄을 짚어도 이유를 설명할 수 있어야 한다
이직 이유 3버전 준비 — 30초 버전, 2분 버전, "그래서 구체적으로는?" 꼬리 질문 버전. 모두 솔직하되 건설적으로
!
지원 회사 기술 블로그 최소 5편 읽기 — 어떤 기술을 쓰는지, 어떤 문제를 풀었는지. 면접에서 언급할 수 있는 구체적 포인트 메모
!
서비스 직접 써보고 개선점 1개 준비 — "저희 서비스 써보셨어요?"에 "네, 그런데 이 부분이 불편했는데 이렇게 개선하면 좋겠다고 생각했습니다"로 대답할 수 있으면 인상이 완전히 다르다
i
CS 개념은 코드로 즉시 구현 가능한 수준까지 — "안다"가 아니라 "지금 바로 코드로 보여줄 수 있다" 수준. 클로저, 이벤트 루프, 프로토타입을 5분 안에 코드로 설명하기
i
모르면 "모른다"고 말하기 연습 — 모르는 걸 아는 척하다 더 깊이 파고들면 무너진다. "그 부분은 경험이 없어서 정확하진 않은데, 제 추측으로는..." 이 훨씬 낫다

"기술 면접에서 탈락하는 이유의 절반은 기술 부족이 아니다. 면접이라는 상황 자체에 익숙하지 않은 것이다."

— 4번 탈락 후 메모장에 적어둔 결론

다섯 번째 면접에서 합격했을 때, 기술 실력이 갑자기 늘어서가 아니었다. 면접 방식이 달라졌다. 말하면서 코딩하는 게 익숙해졌고, 이직 이유가 명확해졌고, 회사를 공부해서 갔다. 그게 전부였다. 네 번의 탈락이 아깝지 않았냐고 하면, 그 탈락들이 없었으면 이걸 몰랐을 것이다.


💬 기술 면접에서 가장 당황했던 질문은 뭐였나요?

이직 면접 탈락 경험이 있다면 어떤 부분에서 막히셨는지, 반대로 잘 풀렸던 준비 방법이 있다면 댓글로 나눠주세요. 특히 라이브 코딩 멘탈 관리나 인성 질문 준비 방법에 대한 이야기가 있다면 정말 반깁니다. 🙏


소개 및 문의 · 개인정보처리방침 · 면책조항

© 2026 나무핀