코스 도구 탐색
AI 기반 도구와 기능으로 학습을 강화하세요
학습 방식
90개 코스
Coding Interview Prep 학습 경로의 모든 코스.
SQL 기초 면접 질문
면접 시작 5분 안에 지원자를 걸러 내는, 가장 자주 나오는 SQL 기초 질문을 다룹니다. SQL이 무엇인지, 쿼리가 어떻게 실행되는지, 면접관이 기대하는 용어를 확실히 익힙니다.
DSA를 위한 Python 복습
면접에서 문제 해결에 집중할 수 있도록 Python 기초를 복습하세요. 이 과정에서는 알고리즘 문제에 계속 등장하는 내장 데이터 형식과 내포, 유틸리티 함수를 다룹니다. 과정을 마치면 면접의 시간 압박 속에서도 읽기 쉬운 깔끔하고 관용적인 Pytho…
경기장에 오신 것을 환영합니다: 심판과 판정
온라인 심판에 첫 풀이를 제출하고 판정을 확인할 수 있습니다.
시간 및 공간 복잡도
코드를 한 줄도 작성하기 전에 알고리즘의 효율성을 분석하는 방법을 배우세요. 이 과정에서는 반복문과 재귀, 자료 구조 연산을 활용한 시각적 직관과 풀이 예제로 Big-O, Big-Theta, Big-Omega 표기법을 소개합니다. 복잡도 분석을 익히…
SELECT와 열 표현식 기초
열 투영, 별칭 지정, 계산된 표현식, DISTINCT를 다루는 면접 문제를 연습합니다. 초급자가 자주 실수하는 미묘한 범위 규칙도 다룹니다.
빠른 입출력: 점수 손실 없이 입력 읽기
시간 제한으로 감점되지 않도록 대회 입력을 충분히 빠르게 읽고 출력할 수 있습니다.
WHERE 절 필터링의 함정
연산자 우선순위, BETWEEN의 경계, IN과 OR의 차이, 패턴 일치 등 전형적인 필터링 면접 함정을 다룹니다. 올바르게 보이는 필터가 잘못된 행을 반환하는 이유를 배웁니다.
배열과 두 포인터 기법
배열은 코딩 면접에서 가장 흔히 사용되는 자료 구조입니다. 이 과정은 Python의 필수 배열 연산으로 시작해, 수십 가지 고전 문제에서 중첩 반복문을 없애는 두 포인터 패턴을 깊이 있게 다룹니다. 과정을 마치면 쌍의 합, 세 수의 합, 최대 물을…
시간을 재는 Big-O: 통과할 수 있을까요?
코딩하기 전에 제한 조건으로 알고리즘의 실행 시간을 추정할 수 있습니다.
ORDER BY, LIMIT 및 상위 N개 질문
안정적인 정렬, 다중 키 정렬, 여러 SQL 방언에서 상위 N개 행을 가져오는 방법을 포함한 정렬 및 페이지 나누기 면접 질문을 다룹니다.
문자열과 패턴 매칭
문자열 조작 문제는 거의 모든 코딩 면접에서 등장합니다. 이 과정에서는 Python의 풍부한 문자열 API와 부분 문자열 검색을 위한 슬라이딩 윈도 기법, 애너그램 및 순열 탐지를 다룹니다. 무차별 대입 O(n²) 접근이 허용되는 경우와 더 효율적인…
믿고 사용할 수 있는 배열
대회 문제에 맞게 Python 리스트를 순회하고, 만들고, 변환할 수 있습니다.
정렬 알고리즘
구현 수준에서 정렬을 이해하면 면접에서 트레이드오프를 자신 있게 논의할 수 있는 어휘를 갖추게 됩니다. 이 과정에서는 Python으로 버블 정렬, 삽입 정렬, 병합 정렬, 퀵 정렬을 처음부터 구현하고, 각 알고리즘의 복잡도를 분석하며, 실제 상황에…
집계 함수 면접 연습
면접에서 자주 검증하는 COUNT, SUM, AVG, MIN, MAX와 NULL 처리 방식을 다룹니다. COUNT(*)와 COUNT(열)의 차이는 반드시 나오는 질문입니다.
이진 검색 완전 정복
이진 검색은 교과서적 정의보다 훨씬 강력합니다. 이 과정에서는 기본 구현을 다룬 뒤 회전된 배열과 크기를 알 수 없는 목록, 자료 구조가 아닌 가능한 답의 범위를 검색하는 답 공간 이진 검색으로 확장합니다.
INNER JOIN 입문
면접관이 가장 먼저 묻는 조인을 다룹니다. INNER JOIN이 행을 어떻게 일치시키고, 중복으로 인해 행을 어떻게 늘리며, ON 조건식이 어디에 속하는지 정확히 이해합니다.
연결 리스트 처음부터 구현하기
연결 리스트는 Python의 내장 편의 기능 없이 포인터를 조작하고 메모리를 추론하는 능력을 시험합니다. 이 과정에서는 Node 클래스에서 단일 연결 리스트를 구축한 다음, 뒤집기와 순환 탐지, 정렬된 리스트 병합이라는 대표적인 면접 문제를 해결합니…
LEFT, RIGHT 및 FULL OUTER JOIN
일치하지 않는 행 보존, 누락된 레코드 찾기, 면접관이 즐겨 묻는 안티 조인 패턴 등 외부 조인 면접 질문을 다룹니다.
누적 합: O(1) 구간 질의
누적 배열로 부분 배열 합 질의에 즉시 답할 수 있습니다.
CROSS JOIN, SELF JOIN 및 조인 패턴
지원자를 당황하게 하는 조인을 다룹니다. 데카르트 곱, 테이블 자체와의 조인, 문제에 필요한 조인의 종류를 익힙니다.
정렬과 비교 함수
사용자 지정 키로 정렬하고 순서를 활용해 문제를 단순화할 수 있습니다.
정답을 이분 탐색하기
정렬된 데이터를 탐색하고 숫자 정답의 범위에 이분 탐색을 적용할 수 있습니다.
해시 맵과 집합
해시 맵은 O(n) 선형 탐색을 O(1) 조회로 바꾸며, 많은 최적의 코딩 면접 풀이를 가능하게 하는 비장의 무기입니다. 이 과정에서는 충돌 처리, 부하율, Python dict 내부 구조를 다룬 다음, 해시 맵을 활용해 두 수의 합, 애너그램 그룹…
GROUP BY와 HAVING 면접 함정
그룹화는 면접에서 초급자와 중급자를 가르는 부분입니다. GROUP BY 규칙, HAVING과 WHERE의 차이, 집계되지 않은 열 오류를 배웁니다.
재귀와 호출 스택
재귀는 트리 순회, 백트래킹, 분할 정복의 토대입니다. 이 과정에서는 재귀 호출이 반복될 때마다 호출 스택이 어떻게 늘어나고 줄어드는지 명확히 이해하고, 올바른 재귀 함수를 작성하기 위한 신뢰할 수 있는 3단계 프레임워크를 세운 뒤, 선택한 문제를…
해싱: 집합, 맵과 카운터
해시 구조로 O(1) 조회, 개수 세기, 중복 제거를 수행할 수 있습니다.
NULL 처리 면접 질문
NULL은 SQL 면접에서 오답을 만드는 가장 큰 원인입니다. 3값 논리, NULL 안전 비교, COALESCE를 확실히 익힙니다.
그리디: 국소적 선택이 이기는 순간
대회 문제에서 간단한 그리디 전략을 알아보고 증명할 수 있습니다.
하위 쿼리 심화
면접관이 제시하는 스칼라, 행, 테이블 하위 쿼리를 다룹니다. 각각 어디에 사용할 수 있는지와 하위 쿼리가 가장 깔끔한 해답이 되는 경우를 알아봅니다.
트리: 순회와 경로
이진 트리는 LeetCode 중간 및 어려운 난이도 문제의 4분의 1 이상에 등장합니다. 이 과정에서는 TreeNode 클래스를 만들고, 네 가지 순회 순서를 재귀와 반복 방식으로 모두 구현하며, 최대 깊이, 지름, 최소 공통 조상을 비롯한 경로 기…
상관 하위 쿼리
외부 쿼리의 각 행마다 한 번씩 실행되는 하위 쿼리를 다룹니다. 상관 하위 쿼리를 인식하고 작성하며 다시 작성하는 능력은 중급 면접의 핵심입니다.
이진 탐색 트리
BST는 정렬 배열의 정렬 속성과 연결 리스트의 동적 삽입을 결합합니다. 이 과정에서는 BST의 삽입, 검색, 삭제 연산을 다루고 BST의 올바른 구조를 검증하며, 정렬된 중위 순회 속성을 활용하는 k번째로 작은 원소와 범위 질의 문제를 풉니다.
시뮬레이션: 규칙을 정확히 코드로 옮기기
복잡한 문제 규칙을 올바른 단계별 시뮬레이션으로 바꿀 수 있습니다.
힙과 우선순위 큐
힙은 스트리밍 중앙값, 상위 k개 원소, 다익스트라 알고리즘을 구현하는 기반입니다. 이 과정에서는 힙의 속성을 설명하고 배열을 사용해 최소 힙을 처음부터 구현하며, Python의 heapq 모듈을 활용해 빈도 상위 k개 원소, 데이터 스트림의 중앙값…
공통 테이블 표현식(CTE)
읽기 쉽고 재사용 가능한 쿼리 로직을 위한 WITH 절을 배웁니다. 면접관은 중첩된 하위 쿼리를 깔끔한 CTE로 리팩터링할 수 있기를 기대합니다.
두려움 없이 완전 탐색하기
제한 조건에 완전 탐색이 적합한 때를 판단하고 효율적으로 열거할 수 있습니다.
재귀 CTE와 계층 구조
트리와 그래프 탐색을 위한 재귀 WITH를 배웁니다. 조직도, 자재 명세서, 숫자열 생성은 고급 면접에서 빠지지 않는 문제입니다.
그래프: BFS와 DFS
그래프 문제는 시스템 설계 및 알고리즘 면접에 어디에나 등장합니다. 이 과정에서는 그래프를 인접 리스트와 인접 행렬로 표현한 다음, 방문 집합을 사용하는 BFS와 DFS로 연결 요소, 섬의 개수, 단어 사다리, 그래프 복제 문제를 풉니다.
스택, 큐와 덱
알맞은 선형 자료구조를 선택하고 고전적인 패턴에 활용할 수 있습니다.
윈도 함수: ROW_NUMBER, RANK, DENSE_RANK
면접에서 가장 많이 출제되는 고급 SQL 주제인 순위 윈도 함수를 다룹니다. 동점일 때 세 순위 함수가 만들어 내는 차이를 이해합니다.
동적 프로그래밍 기초
동적 프로그래밍은 대부분의 지원자에게 어렵게 느껴지지만, 겹치는 부분 문제와 최적 부분 구조라는 두 가지 핵심 요소로 정리할 수 있습니다. 이 과정에서는 DP 사고방식을 세우고, 하향식 메모이제이션과 상향식 표 작성을 소개하며, 피보나치, 계단 오르…
슬라이딩 윈도우 마스터하기
윈도우를 확장하고 축소하며 부분 배열과 부분 문자열 문제를 해결할 수 있습니다.
DP 패턴: 1차원 문제
많은 면접 DP 문제는 부분 문제의 답을 담은 1차원 배열로 정리할 수 있습니다. 이 과정에서는 선형 탐색, 각 단계의 결정, 슬라이딩 윈도우 DP라는 핵심 1차원 DP 패턴을 파악하고, 집 도둑질, 최대 곱 부분 배열, 단어 분할, 해석 방법 수…
윈도 함수: LAG, LEAD 및 NTILE
행을 비교하고 데이터를 여러 구간으로 나누는 오프셋 및 구간화 윈도 함수를 배웁니다. 기간별 변화는 분석가 면접에서 반드시 나오는 질문입니다.
구간: 병합, 훑기와 일정 계획
구간을 정렬하고 훑어 병합하고, 겹침을 세고, 일정을 계획할 수 있습니다.
DP 패턴: 2차원 격자 문제
2차원 DP 표는 서로 비교하는 두 수열이나 탐색하는 격자처럼 상태가 서로 독립적인 두 인덱스에 따라 달라지는 문제를 모델링합니다. 이 과정에서는 고유 경로, 최소 경로 합, 최장 공통 부분 수열, 편집 거리라는 가장 자주 출제되는 2차원 DP 문제…
누적 합계와 이동 평균
누적 및 이동 계산을 위한 윈도 프레임 절을 다룹니다. ROWS와 RANGE 프레임의 차이는 면접관이 확인하는 중요한 중급 개념입니다.
그룹별 상위 N개와 중복 제거
윈도 함수로 깔끔하게 해결하는 빈출 면접 문제 두 가지를 다룹니다. 범주별 상위 항목 찾기와 중복 행 제거입니다.
정수론 도구 상자
GCD, 체, 소수 판정을 수학 중심의 대회 문제에 적용할 수 있습니다.
백트래킹: 탐색과 열거
백트래킹은 가능한 해를 체계적으로 모두 탐색하며, 제약 조건을 위반하는 순간 해당 분기를 포기합니다. 이 과정에서는 보편적인 백트래킹 틀을 익히고 부분 집합, 순열, 조합의 합, N-퀸, 스도쿠 풀이 문제에 적용합니다. 이 문제들은 주요 기술 기업의…
그리디 알고리즘
그리디 알고리즘은 각 단계에서 현재 최선의 선택을 하며, 적용 가능한 경우 전체적으로 최적의 결과를 만들어 냅니다. 이 과정에서는 그리디 접근이 올바른 경우에 대한 직관을 기르고, 교환 논증으로 이를 증명하며, 구간 스케줄링, 점프 게임, 작업 스케…
N번째로 높은 급여와 순위 퍼즐
모든 지원자가 받는 면접 질문을 다룹니다. 두 번째로 높은 급여부터 N번째로 높은 급여까지, 면접관이 추가하는 모든 예외 상황을 함께 살펴봅니다.
분할 정복
분할 정복은 문제를 서로 독립적인 부분 문제로 나누고, 각 문제를 재귀적으로 해결한 뒤 결과를 결합합니다. 이 과정에서는 병합 정렬을 넘어 역전 수 세기, 최근접 점 쌍, 다수 원소(Boyer-Moore), 카라추바 곱셈 알고리즘에 이 패러다임을 적…
집합 연산: UNION, INTERSECT, EXCEPT
결과 집합을 올바르게 결합합니다. UNION과 UNION ALL, 열 호환성 규칙, 데이터셋 비교를 위한 집합 연산 사용법을 배웁니다.
비트 조작 파워업
집합, 마스크, 상수 시간 연산에 비트 단위 기법을 활용할 수 있습니다.
그래프 입문: BFS와 DFS
그래프를 표현하고 너비 우선 탐색과 깊이 우선 탐색으로 순회할 수 있습니다.
고급 DP: 구간과 회문
구간 DP는 범위의 두 끝점으로 부분 문제를 정의하는 강력한 패턴으로, 회문 분할, 행렬 연쇄 곱셈, 풍선 터뜨리기 문제에서 최적의 해를 구할 수 있게 합니다. 이 과정에서는 일반적인 구간 DP 채우기 순서를 익히고 대표 문제 네 가지를 처음부터 끝…
갭과 아일랜드 문제
고급 패턴 인식 문제 유형을 다룹니다. 연속된 구간과 그 사이의 빈틈을 찾는 방법으로, SQL 면접에서 시니어 수준을 보여 주는 주제입니다.
연속 날짜와 연속 기록 분석
연속 로그인 날짜, 연승 기록, LeetCode 스타일의 3개 연속 행 문제 등 연속 기록과 실행 길이 문제를 다룹니다.
최단 경로: 다익스트라와 친구들
알맞은 알고리즘으로 가중치 그래프의 최단 경로를 계산할 수 있습니다.
고급 DP: 배낭 변형
배낭 문제군은 면접에서 가장 자주 등장하는 DP 전형 중 하나입니다. 이 과정에서는 0/1 배낭, 무한 배낭, 동일한 부분 집합 합 분할, 목표 합을 다루며, 각 변형이 점화식과 상태 공간을 어떻게 조정해 서로 다른 제약 조건을 모델링하는지 살펴봅니…
피벗과 언피벗 기법
긴 형식과 넓은 형식 사이에서 데이터를 재구성합니다. 조건부 집계 피벗과 그 반대인 언피벗은 보고서 작성 면접에서 자주 요구됩니다.
최단 경로 알고리즘
최단 경로 사고방식은 네트워크 라우팅, 단어 사다리, 최소 비용 항공편 문제에 등장합니다. 이 과정에서는 최소 힙을 사용하는 다익스트라 알고리즘, 음수 가중치를 위한 벨만-포드, 모든 정점 쌍의 거리를 구하는 플로이드-워셜을 구현하고 각 알고리즘이…
날짜, 시간 및 문자열 면접 질문
면접에서 제시되는 날짜 계산, 절단, 문자열 조작을 다루며, SQL 방언에 따라 함수 이름이 달라지는 점도 익힙니다.
위상 정렬과 SCC
위상 정렬은 모든 간선이 앞으로 향하도록 DAG의 순서를 정하는 방법으로, 과목 일정, 빌드 시스템, 의존성 해결에 필수적입니다. 이 과정에서는 Kahn의 BFS 기반 알고리즘과 DFS 기반 후위 순회 위상 정렬을 구현한 다음, 강한 연결 요소를 구…
배낭 문제와 2차원 DP
배낭 방식의 2차원 DP로 자원이 제한된 선택을 모델링할 수 있습니다.
트라이와 문자열 알고리즘
트라이(접두사 트리)는 해시 맵으로는 해결하기 어려운 자동 완성, 맞춤법 검사, IP 라우팅 문제를 해결합니다. 이 과정에서는 삽입과 검색을 지원하는 TrieNode 클래스를 만들고, 접두사 검색과 와일드카드 매칭으로 확장한 뒤, 백트래킹을 사용해…
격자와 문자열의 DP
격자와 문자열 DP로 경로 개수 세기와 편집 거리 문제를 해결할 수 있습니다.
코호트 및 유지율 분석 SQL
제품 분석 면접 쿼리를 다룹니다. 코호트 구성, 유지율 곡선 계산, SELF JOIN과 윈도 함수 방식의 비교를 배웁니다.
Union-Find와 서로소 집합
Union-Find(Disjoint Set Union)는 거의 상수 시간에 연결성 질의를 처리하며, 동적으로 그룹을 구성하는 문제에 가장 깔끔한 해법을 제공합니다. 이 과정에서는 랭크에 의한 합치기와 경로 압축을 구현한 다음, DSU를 연결 요소 개…
퍼널 및 A/B 테스트 분석 SQL
데이터 분석가 면접에서 자주 활용하는 이벤트 퍼널 전환 및 실험 분석 쿼리를 다룹니다.
서로소 집합(DSU)과 신장 트리
DSU로 집합을 합치고 최소 신장 트리를 만들 수 있습니다.
비트 조작 기법
비트 조작을 사용하면 정수의 이진 표현을 활용해 추가 공간 없이 O(1) 또는 O(n)에 일부 문제를 해결할 수 있습니다. 이 과정에서는 AND, OR, XOR, 시프트, 비트 마스크를 다룬 다음, 단일 수, 비트 개수 세기, 2의 거듭제곱, 누락된…
쿼리 최적화와 EXPLAIN
실행 계획을 읽고 쿼리가 느린 이유를 설명하는 방법을 배웁니다. 기술 면접에서 시니어와 다른 지원자를 가르는 핵심 주제입니다.
단조 스택과 슬라이딩 윈도우 최댓값
단조 스택과 덱은 원소를 왼쪽에서 오른쪽으로 처리하면서 정렬 상태를 유지하므로, 그렇지 않으면 O(n²) 중첩 반복문이 필요한 문제를 O(n)에 해결할 수 있습니다. 이 과정에서는 일일 기온, 히스토그램에서 가장 큰 직사각형, 슬라이딩 윈도우 최댓값…
고급 그래프: 순서와 구조
DAG를 위상 정렬하고 그래프를 강한 연결 요소로 분해할 수 있습니다.
인덱싱 전략 질문
면접에서 다루는 인덱스 설계를 익힙니다. 어떤 열에 인덱스를 만들지, 복합 인덱스의 순서, 커버링 인덱스, 인덱스가 오히려 성능을 해치는 경우를 배웁니다.
코딩 면접을 위한 시스템 설계
많은 시니어 면접에는 30~45분 동안 화이트보드에 확장 가능한 아키텍처를 그려야 하는 시스템 설계 라운드가 포함됩니다. 이 과정에서는 요구 사항 명확화, 규모 추정, 데이터 모델과 API 설계, 저장소 엔진 선택, 일관성·가용성·지연 시간 간의 절…
트랜잭션, ACID 및 격리 수준
동시성 면접 질문을 다룹니다. ACID 보장, 네 가지 격리 수준, 각 수준이 방지하는 이상 현상을 배웁니다.
최종전: 게임 이론, MITM과 대회 기술
대회 압박 속에서 게임 이론, 중간에서 만나기, 디버깅 절차를 적용할 수 있습니다.
FAANG 패턴과 모의 면접
이 종합 과정에서는 트랙에서 배운 모든 패턴을 체계적인 문제 해결 지침으로 정리합니다. 문제를 읽은 첫 60초 안에 어떤 패턴을 적용할지 파악하고, 제한 시간 안에 연습하며, 실제 면접관처럼 복잡도와 예외 상황에 관해 이어지는 질문에 대응하는 방법을…
스키마 설계, 정규화 및 모의 면접
데이터베이스 모델링과 전체 모의 면접 문제를 다루는 종합 과정입니다. 정규화, 스타 스키마, 처음부터 끝까지의 문제 해결을 익힙니다.
자주 묻는 질문
Coding Interview Prep 강의는 무료인가요?
네, Coding Interview Prep 강의를 무료로 시작하고 인터랙티브 레슨을 모두 무료로 완료할 수 있습니다. 선택적 PRO 구독을 통해 고급 AI 도구와 공유 가능한 수료증을 잠금 해제할 수 있습니다.
INTERVIEW을(를) 배우기 위해 사전 경험이 필요한가요?
아니요. 강의는 기초부터 시작하여 점차 더 심화된 주제로 나아가므로 INTERVIEW 경험이 없어도 시작할 수 있습니다.
CoddyKit에서 INTERVIEW은(는) 어떻게 배우나요?
직접 해보면서 배웁니다. 짧은 인터랙티브 레슨은 명확한 설명과 실시간으로 실행되는 실습 코딩 연습을 함께 제공하며, 24시간 AI 튜터가 막힐 때마다 맞춤형 도움을 줍니다.
Coding Interview Prep을(를) 완료하면 수료증을 받나요?
네, PRO 학습자는 시험을 응시하고 Coding Interview Prep 강의의 검증 코드가 포함된 공유 가능한 수료증을 취득할 수 있습니다.
휴대폰에서 INTERVIEW을(를) 배울 수 있나요?
네, CoddyKit은 웹과 iOS, Android 네이티브 앱으로 이용 가능하므로 어느 기기에서나 INTERVIEW을(를) 배우고 진행 상황이 모든 기기에서 동기화됩니다.