Insight2026-01-01 · 5 min 읽기
직무 면접에서 라이브 코딩을 통과하려면
3번의 면접 탈락 후 정리한, 면접관이 보는 것과 준비 전략.
직무 면접에서 라이브 코딩을 통과하려면
4년 전 취업을 하고, 이번에 다시 이직을 준비하면서 느낀 점이 있다. 처음 취업할 때와는 달리 이번에는 지금까지 쌓은 커리어에 맞는 직무와 비전이 맞는 회사를 고르는 것이 더 중요해졌고, 라이브 코딩이 넘어야 할 관문으로 다가왔다는 것. 토스, 뱅크샐러드, 오늘의집 면접을 진행했고, 최종 면접까지 간 곳도 있었지만 직무 면접이 매번 위태위태했다. 라이브 코딩을 위한 체계적인 준비가 필요함을 뼈저리게 느꼈다.
직무 면접은 대부분 라이브 코딩과 프로젝트 기반 CS 질문으로 이뤄졌다. 프로젝트를 만들 때 트레이드오프를 고민하며 공부해둔 덕분에 CS 쪽은 어렵지 않았는데, 문제는 라이브 코딩이었다. 보통 1시간 라이브 코딩, 1시간 CS 면접으로 총 2시간이 진행되는데, 첫 1시간에서 막히니 두 번째 CS 면접까지 흐름이 꼬여버렸다.
그래서 서류 접수는 잠시 멈추고, 라이브 코딩을 통과하기 위한 전략을 세운 뒤 집중해서 준비하기로 했다.
면접관은 라이브 코딩에서 무엇을 보는가
전략을 세우기 전에, 직무 면접에서 라이브 코딩을 할 때 면접관이 실제로 보는 것이 무엇인지 정리해봤다.
- 문제 분석 — 요구사항과 제약을 제대로 파악하는가?
- 알고리즘·자료구조 선택 — 여러 방법 중 트레이드오프를 고민하는가? 다른 대안은 없는가?
- 시간·공간 복잡도 — 선택한 방법의 복잡도를 설명할 수 있는가?
- 엣지 케이스 — 극단적인 입력이나 예외를 찾고 검증하는가?
- 코드 품질 — 변수명, 에러 처리 등 실무에서도 쓸 만한 수준인가?
정리하면, 코드 자체보다 “설명과 사고 과정”을 얼마나 잘 보여주는지가 더 중요하다는 결론이 나왔다.
그래서 다른 사람에게 사고 과정을 말끔하게 전달하기 위한 연습용 템플릿을 쓰기로 했다.
- 접근 방식
- 시간·공간 복잡도
- 대안 접근
- 엣지 케이스
준비할 카테고리: 6개만 하면 된다
라이브 코딩 테스트를 통과하려면, 다음 6개 카테고리만 체계적으로 준비하면 된다고 판단했다.
1. Array / String
- Two Pointer
- Sliding Window
- Prefix Sum
2. Hash Map / Set
- 빈도 카운트
- 중복 제거
- Lookup 최적화
3. Stack / Queue
- 괄호 문제
- Monotonic Stack
- BFS 기본 큐
4. Linked List
- Reverse
- Cycle Detection (Floyd)
5. Tree / Binary Tree
- DFS / BFS
- Depth / Height
- Lowest Common Ancestor
6. Graph (최소한)
- BFS / DFS
- 방문 처리
- 방향/무방향 차이
연습 전략
- LeetCode Medium 위주로 풀고, Easy로 개념을 보강하는 방식으로 갈 예정이다.
- 목표는 각 카테고리마다 막힘 없이 라이브 코딩으로 풀고 설명할 수 있을 때까지 반복해서 연습하는 것이다.