LabHub

블로그

기술 면접 준비 플레이북 — 코딩·시스템 설계·행동 면접까지

한국어English日本語中文

들어가며 — 면접은 실력과 별개의 기술이다

실력이 뛰어난데 면접에서 계속 떨어지는 사람이 있고, 실력이 평범한데 면접을 잘 통과하는 사람이 있습니다. 불공평해 보이지만, 여기엔 구조적인 이유가 있습니다. 면접은 실력을 측정하는 불완전한 프록시이고, 그 프록시 자체가 연습 가능한 기술이기 때문입니다.

이 글은 1편에서 그린 직무별 지식 지도를 면접장에서 증명하는 방법을 다룹니다. 면접의 네 가지 유형 — 코딩, 시스템 설계, 도메인 심층, 행동 면접 — 각각의 평가 신호와 준비법, 직무별 단골 질문, 그리고 8주 역산 계획으로 구성했습니다.

면접관은 무엇을 보는가

준비법에 들어가기 전에, 채점자의 루브릭부터 이해해야 합니다. 면접관이 수집하는 것은 정답 여부가 아니라 신호(signal) 입니다.

이 관점 하나만 바꿔도 준비의 방향이 달라집니다. 완벽한 정답을 암기하는 것이 아니라, 좋은 신호를 일관되게 내보내는 습관을 만드는 것이 목표입니다.

코딩 면접 — 문제가 아니라 패턴을 공부하라

코딩 면접 준비의 가장 흔한 실수는 문제를 수백 개 푸는 것입니다. 문제는 무한하지만 패턴은 유한합니다. 빈출 패턴은 대략 열다섯 개 안쪽입니다.

효율적인 학습 순서는 이렇습니다. ①패턴 하나를 고르고 ②그 패턴의 대표 문제 3~5개를 풀며 ③풀 때마다 "이 문제의 어떤 특징이 이 패턴을 부르는가"를 언어화합니다. 이 언어화가 면접장에서 "슬라이딩 윈도우가 떠오른 이유는 연속 구간의 최적화 문제이기 때문입니다"라는 강력한 신호로 변환됩니다.

연습 시 반드시 지킬 것 두 가지. 시간을 재고(실전은 20~35분), 소리 내어 설명하면서 푸세요. 조용히 잘 푸는 능력과 말하면서 푸는 능력은 다른 근육입니다. 복잡도 분석(시간·공간)은 코드를 다 쓴 뒤가 아니라 접근을 설명할 때 미리 말하는 습관을 들이세요.

시스템 설계 면접 — 5단계 프레임

"URL 단축기를 설계하세요" 같은 문제 앞에서 얼어붙는 이유는 지식 부족보다 진행 순서의 부재인 경우가 많습니다. 다음 5단계 프레임이 표준입니다.

  1. 요구사항 명확화 (5분) — 기능 요구사항(무엇을 하는가)과 비기능 요구사항(규모, 지연, 가용성)을 분리해 질문합니다. "쓰기와 읽기 중 어느 쪽이 많은가요?"는 거의 항상 좋은 질문입니다.
  2. 어림 계산 (5분) — 일일 사용자, QPS, 저장량을 자릿수 수준으로 추정합니다. 정확한 숫자가 아니라 "이 규모면 단일 DB로는 안 되겠다"는 판단이 목적입니다.
  3. API와 데이터 모델 (5분) — 핵심 엔드포인트 서너 개와 테이블/키 구조를 스케치합니다.
  4. 상위 설계 (10~15분) — 클라이언트 → 로드밸런서 → 서비스 → 저장소의 큰 그림을 그리고, 각 화살표에서 무슨 일이 일어나는지 설명합니다.
  5. 심화와 트레이드오프 (10~15분) — 면접관이 찌르는 지점(병목, 장애, 확장)을 깊게 팝니다. 캐시 무효화, 샤딩 키 선택, 일관성 수준이 단골 주제입니다.

여기서 차별화되는 것은 지식의 나열이 아니라 트레이드오프의 언어입니다. "캐시를 두면 읽기 지연은 줄지만 무효화 복잡성이 생깁니다. 이 서비스는 읽기가 압도적이므로 감수할 가치가 있습니다"처럼, 선택마다 대가를 명시하고 요구사항으로 정당화하는 화법을 연습하세요. 재시도와 멱등성 같은 분산 시스템 단골 주제는 이 블로그의 결제 멱등성 글이 좋은 예습 자료입니다.

직무별 단골 질문

1편의 다섯 직무 기준으로, 도메인 심층 면접의 단골 질문을 추렸습니다.

AI/LLM 엔지니어

플랫폼/DevOps/SRE

보안 엔지니어

데이터 엔지니어

프론트엔드

각 질문의 답을 암기하기보다, 이 사이트의 도구들 — 쿠버네티스 놀이터, SQL 놀이터, 인증·보안 실습실, 리눅스 명령어 퀴즈 — 로 직접 실험하며 "겪은 이야기"로 만들어 두는 것이 훨씬 강력합니다.

행동 면접 — STAR와 스토리 은행

행동 면접(behavioral interview)을 즉흥으로 대응하는 것은 코딩 문제를 처음 보고 푸는 것과 같습니다. 준비물은 스토리 은행입니다.

STAR 구조 — 상황(Situation), 과제(Task), 행동(Action), 결과(Result)로 이야기를 짭니다. 흔한 실수 두 가지: 상황 설명이 절반을 넘는 것(30초 안에 끝내세요), 그리고 행동의 주어가 "우리"인 것(면접관이 알고 싶은 것은 당신이 한 일입니다).

여섯 가지 스토리를 준비하세요 — ①어려운 기술 문제를 해결한 경험 ②동료와 의견이 충돌한 경험 ③실패하거나 실수한 경험 ④주도적으로 뭔가를 개선한 경험 ⑤마감 압박 아래의 우선순위 결정 ⑥설득에 실패했지만 배운 경험. 각 스토리에 숫자(지연 40% 감소, 온콜 알림 주당 30건→5건)를 붙이면 신뢰도가 뛰어오릅니다.

의견 충돌 스토리에서 면접관이 보는 것은 승패가 아니라 자아와 아이디어를 분리하는 능력입니다 — 이 주제는 논쟁은 자아에 관한 것 편에서 깊게 다뤘습니다. "제가 옳았고 결국 관철했다"보다 "상대의 제약을 이해하고 함께 세 번째 안을 찾았다"가 시니어의 신호입니다.

8주 역산 계획

면접일로부터 역산한 표준 플랜입니다. 주당 10시간 기준이며, 상황에 맞게 늘리고 줄이세요.

떨어졌을 때

마지막으로 가장 중요한 이야기. 면접 탈락은 실력 판정이 아니라 한 번의 표본 추출입니다. 같은 실력으로도 문제 운, 면접관 성향, 그날의 컨디션에 따라 결과가 갈립니다. 탈락 후 할 일은 세 가지뿐입니다 — 기억나는 질문을 즉시 기록하고, 막혔던 지점을 스토리 은행과 패턴 목록에 반영하고, 다음 지원을 계속하는 것. 자신감은 어디에서 오는가 편에서 다뤘듯, 자신감은 시도의 축적에서 나옵니다. 면접도 정확히 그렇습니다.

참고 자료

댓글

아직 댓글이 없습니다.

로그인하면 댓글을 쓸 수 있습니다